ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x100020, 0x1fffe0}, {&(0x7f0000168a00)="eb52904e5446532020202000102000000000000000f8000000000000000000000000000080008000ff0300000000000002000000000000000f00000000000000f4000000f400000025f72e792ed6fb51000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x3ff000}, {&(0x7f0000168b00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3ff1e0}], 0x0, &(0x7f0000168c00)) (async) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r1) (async) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async) r4 = socket$nl_generic(0x10, 0x3, 0x10) (async) r5 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000080), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_LINKMODES_SET(r4, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000000)={0x1c, r5, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_LINKMODES_LANES={0x8, 0x9, 0x9}]}, 0x1c}}, 0x0) r6 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_PORT_GET(r4, &(0x7f0000000180)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000000140)={&(0x7f0000000300)={0xcc, 0x0, 0x20, 0x70bd2d, 0x25dfdbff, {}, [{{@pci={{0x8}, {0x11}}, {0x8}}}, {{@pci={{0x8}, {0x11}}, {0x8}}}, {{@pci={{0x8}, {0x11}}, {0x8, 0x3, 0x1}}}, {{@pci={{0x8}, {0x11}}, {0x8, 0x3, 0x1}}}, {{@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x3, 0x1}}}]}, 0xcc}, 0x1, 0x0, 0x0, 0x8000}, 0x4) (async) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f00000002c0)={0x3c, r6, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FRAME={0x1e, 0x33, @disassoc={@wo_ht={{}, {}, @broadcast, @device_b}, 0x0, @void}}]}, 0x3c}}, 0x0) 12:44:52 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xf6ffffff) 12:44:52 executing program 2: socketpair(0x1e, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(r0, &(0x7f0000000200)={&(0x7f0000000040)=@ax25, 0xfe76, &(0x7f0000000000)=[{&(0x7f0000000080)=""/151, 0x3b6af0}], 0x1, &(0x7f00000001c0)=""/4, 0x10036, 0x7301}, 0x3f9c) (async) sendmsg(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000400)=[{&(0x7f0000000340)="4f15a39a2df43b14ed5f2c578d4db055ee07f5a3d802cf8b50b4e7df21e18cb5fc59569f9e048c6343d4d93a8de61654aea60f37d00726bbbaf8413fa35f711e8ebd6b86b0d049ac43de63ad10d25ec562f80eea2946c9cfc7f1078325732582af6da35442dfadaacf63643c41a7e5f882e09016d46b27739751f7cb3c9747d087919a9ce3b13b0c9a2774a54d8d5a2c5053ac2eebb14cadc47aff0e5dd50ea01192a1ac1c06", 0xa6}, {&(0x7f0000000240)="ae61a8d192171409dc2c19809ce70f90c61b402d89906f876fbb89196fa57c9dd7ed6fe73d4a9a050d32416a7e622c1c9943ab04d4e7db1546fab943d95d0a7057459e2d58c83e7f97ddda17b3aff67efc92f873b90a00b5d3c8226357fc7dce76f9ccb0c757e1f3f3d77ab2c382b1f474dbfc9f", 0x74}], 0x2, &(0x7f0000000440)=[{0xe8, 0x10b, 0x1, "d58ea1fc81dd2f86c0a8bb1479f1200b797eb6e685934091929fde394b120f4902da1178b04d2fd09f18b2c948fd79b59c7606ae734ec8558901a2d97bda8143046a818e9ff754f818c11b4c6d7bc84a1f4122a1bbd01143338dd6130e784977d702383822b3a4769c5734e8bc0cb2f359b3020bff547cffbab07c76d9b9e1ca8c80fc23708ca881fc243d635c0c3e13be69eac1ed8cfd437a8d316c476dc31a9d1701890ac535a96c28efa06b0aaa5674a16df798b89675e46af1cae326e6c01263730a613f91f3b67177a7e56343e2c8"}, {0x2b, 0x1, 0x8001, "46accbcca411aacf6e6ecd82c0aa0676a5ec12d744e139aaed652777d6c852c3e970746560b8cba385"}, {0x28, 0x11, 0x1000, "6420fde1cda2ef3289a889c403b00f72e1bad1ea6b"}, {0x48, 0x107, 0x6ed, "f32c6a4d6a966e9a93e3fb7aadc52a8ce0cb29920db06e1c18c56f9875743288a2a16eda24c9a54bba7349dabe6d97f04df179ce"}, {0x108, 0x10b, 0x4, "c3b02703afa2abbdc0202e737ba2765135f24612dc14f76a4048d8392558d0eecf33462d6b10d928a2c54bef26f5b26d43ad399451b6d968d600e532b48d9b837e31a9ab64eaed991bdab35dbd4b68ce15200ad2115ffdee10c1babdc650ee45393acad518cfcdf8e8aee5ba271bbda8d4654d5330da8820e4ac6ef52f4074c4a04f9f33b694c624abc2de6e670fadc95d1da47b0b85186ddffd5b3ec2f62750533796a475f4cff5c698209ea9f4fc3473653b76ba25f52a217a8b40892676afbbd88f0aa22a13351e24957842fc493b5eb49c4cf9a73d151381feb9a02a045dbf2becd74ccf7783133ff2a7676b1a53a3b9494a5d8353"}, {0xc0, 0x88, 0x8, "2983eccfb31aa0b2e147f53a9fe38526944f3fb678eba93775bda5792a16c51a8b7b48b5b590d2ec844c43bbb3f8c842c74b0748b77d55f0ece58d11c7b1837f87e0c76b64c551b14ed8e76aecb04e27f4ce00e04ca6f94b0f33665fc84bbc4b14daba4f8839b6cfdb4d3bbae9c17aedbb37ee137b2cda36fb6c4ea5e9094aa518e0db859c22f5e4ff4985f6b84b39f94abbc7235600d1cf023680dc5fa76560d3010f6cd5693e53a00fbeb1cc"}, {0x48, 0x1, 0x7, "39a860967ea2e7773657f11bb51ba2f0214ac1370c56cb875a8b47fdd824eabe3b94ca818a1a402a7409a20273707e0668d66a"}, {0xc0, 0x118, 0x9, "c983184a4696807e73a19a17ed4cb5ddbe7275c8e938a2410b7f13efe356ecefc692d72f50f9edb4b91ac0b98d210e5943cb59b81f27ef4051fa56a4dac265feee044abcdb31272b51e569bae16d8123a0ab5f2f67cf344874cc785a96f9065d97cc77fe1aa2e373fe4ef87da38c0a671a7982af09d61a80af9127b6cf46f379fea81472948ad790ad33e8a2feeda3cea082ea934457564cf7dfac31925e05f9f6c931fd13913bc96ba3f620b1"}], 0x468, 0xb9efff7f}, 0x0) 12:44:52 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) (async) r1 = socket$netlink(0x10, 0x3, 0x0) (async) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r2, &(0x7f0000009700)={0x0, 0x0, &(0x7f00000096c0)={&(0x7f0000009680)=@mpls_getnetconf={0x14}, 0x14}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000500)=ANY=[@ANYBLOB="4800000010000507000000001000000000000040", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000340)=ANY=[@ANYBLOB="7400000024000705000400"/20, @ANYRES32=r3, @ANYBLOB="10000000ffffffff0000000008000100716671"], 0x74}}, 0x0) (async) r4 = socket$nl_route(0x10, 0x3, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0xb) sendmsg$nl_route_sched(r4, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000a40)=@newtfilter={0x38, 0x28, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r5}, [@filter_kind_options=@f_basic={{0xa}, {0x8, 0x2, [@TCA_BASIC_EMATCHES={0x4}]}}]}, 0x38}}, 0x0) 12:44:53 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xf, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:53 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xfeffffff) [ 501.734434][T14311] loop3: detected capacity change from 0 to 128 [ 501.746469][T14301] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.0'. [ 501.770085][T14311] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 501.782704][T14311] Mount JFS Failure: -5 12:44:53 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) (async) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r2, &(0x7f0000009700)={0x0, 0x0, &(0x7f00000096c0)={&(0x7f0000009680)=@mpls_getnetconf={0x14}, 0x14}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000500)=ANY=[@ANYBLOB="4800000010000507000000001000000000000040", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000340)=ANY=[@ANYBLOB="7400000024000705000400"/20, @ANYRES32=r3, @ANYBLOB="10000000ffffffff0000000008000100716671"], 0x74}}, 0x0) (async, rerun: 64) r4 = socket$nl_route(0x10, 0x3, 0x0) (async, rerun: 64) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0xb) sendmsg$nl_route_sched(r4, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000a40)=@newtfilter={0x38, 0x28, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r5}, [@filter_kind_options=@f_basic={{0xa}, {0x8, 0x2, [@TCA_BASIC_EMATCHES={0x4}]}}]}, 0x38}}, 0x0) [ 501.805789][T14311] jfs_mount failed w/return code = -5 12:44:53 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x10, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:53 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xfffff000) [ 501.947436][T14315] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. [ 501.978844][T14318] loop3: detected capacity change from 0 to 128 [ 502.068680][T14316] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.0'. [ 502.102441][T14318] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 502.126210][T14318] Mount JFS Failure: -5 [ 502.138495][T14318] jfs_mount failed w/return code = -5 [ 502.154070][T14316] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.0'. [ 502.185419][T14316] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.0'. [ 502.292625][T14316] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.0'. [ 502.309844][T14316] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.0'. 12:44:56 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x11, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:56 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xffffff8c) 12:44:56 executing program 0: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xfeffffff) 12:44:56 executing program 2: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xf6ffffff) 12:44:56 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(0xffffffffffffffff, 0xc0189375, &(0x7f00000000c0)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=r0, @ANYBLOB='\x00\x00\x00\x00\x00\x00\x00\x00./filk0\x00']) sendmsg$NL80211_CMD_DEL_STATION(r2, &(0x7f00000001c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x1c, r1, 0x8, 0x70bd2d, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_MGMT_SUBTYPE={0x5, 0x29, 0xa}]}, 0x1c}, 0x1, 0x0, 0x0, 0x4800}, 0x4000) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f00000002c0)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000280)={&(0x7f0000000240)={0x20, r1, 0x10, 0x70bd26, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_OFFCHANNEL_TX_OK={0x4}, @NL80211_ATTR_DURATION={0x8, 0x57, 0x5fd}]}, 0x20}, 0x1, 0x0, 0x0, 0x1}, 0x20000000) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r0) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000080)={0x2c, r3, 0x800, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc, 0x99, {0x1, 0x6d}}}}, [@NL80211_ATTR_DONT_WAIT_FOR_ACK={0x3a}]}, 0x2c}}, 0x0) [ 505.074405][T14326] loop3: detected capacity change from 0 to 128 12:44:56 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) (async) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(0xffffffffffffffff, 0xc0189375, &(0x7f00000000c0)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=r0, @ANYBLOB='\x00\x00\x00\x00\x00\x00\x00\x00./filk0\x00']) (async) sendmsg$NL80211_CMD_DEL_STATION(r2, &(0x7f00000001c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x1c, r1, 0x8, 0x70bd2d, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_MGMT_SUBTYPE={0x5, 0x29, 0xa}]}, 0x1c}, 0x1, 0x0, 0x0, 0x4800}, 0x4000) (async) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f00000002c0)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000280)={&(0x7f0000000240)={0x20, r1, 0x10, 0x70bd26, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_OFFCHANNEL_TX_OK={0x4}, @NL80211_ATTR_DURATION={0x8, 0x57, 0x5fd}]}, 0x20}, 0x1, 0x0, 0x0, 0x1}, 0x20000000) (async) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r0) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000080)={0x2c, r3, 0x800, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc, 0x99, {0x1, 0x6d}}}}, [@NL80211_ATTR_DONT_WAIT_FOR_ACK={0x3a}]}, 0x2c}}, 0x0) [ 505.157954][T14326] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 505.174583][T14326] Mount JFS Failure: -5 12:44:56 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xffffffea) [ 505.205094][T14326] jfs_mount failed w/return code = -5 12:44:56 executing program 0: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000000, 0x8e, &(0x7f0000000200)=[{&(0x7f0000010000)="1e3b823093709a3900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d81000001000000000001000000000000005f42485266535f4d07000000000000000000d00100000000001050010000000000000000000000000000000000000000000000080000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000081000000050000000000000000000000000000000000000000000000450100000000000001000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d8100"/320, 0x140, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae316000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600"/256, 0x100, 0x10320}, {&(0x7f0000010400)="00000000000000000000000090d001000000000500000000000000001050010000000005000000000000000070d0010000000005000000000000000000d0010000000004000000000000000080d0010000000005000000000000000040d00100000000040000000000000000000008000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0d0010000000006000000000000000010500100000000050000000000000000a0d00100000000060000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000d001000000000700000000000000001050010000000005000000000000000010d00100000000070000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000010d001000000000400000000000000000050010000000004000000000000000020d0010000000004000000000000000000d0010000000004000000000000000030d0010000000004000000000000000040d001000000000400000000000000000000080000000000800000000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="c927c55f7b0c96a800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100001000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004001000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81dcc00a7fed512bb300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100101000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a010000000000000002000000000000000c000000000000100000000000a90000000000000000830f0000180000000000100000000000b00100000000000000830f0000000000000010100000000000a900000000000000006b0f0000180000000010100000000000b002000000000000006b0f0000000000000020100000000000a90000000000000000530f0000180000000020100000000000b00300000000000000530f0000000000000030100000000000a900000000000000003b0f0000180000000030100000000000b004000000000000003b0f0000000000000040100000000000a90000000000000000230f0000180000000040100000000000b00500000000000000230f0000000000000050100000000000a900000000000000000b0f0000180000000050100000000000b007000000000000000b0f00"/768, 0x300, 0x100ea0}, {&(0x7f0000010b00)="000000000000000000000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000750a4df13b2d32f00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100201000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a0100000000000000030000000000000002000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e00005000"/320, 0x140, 0x101f60}, {&(0x7f0000010d00)="0000000000000000000000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d815e4a4e22a61cc93300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100301000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a0100000000000000040000000000000001000000000100000000000000cc00001000000000006b0f0000300000000000", 0x140, 0x102f40}, {&(0x7f0000010f00)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8af54f44da779d899a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100401000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a01000000000000000500000000000000", 0xa0, 0x103fc0}, {&(0x7f0000011000)="22a074eedaab243e00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100501000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a01000000000000000700000000000000", 0x60, 0x105000}, {&(0x7f0000011100)="95ac3712c7e7ec2e00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100601000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a020000000000000002000000000000000a000000000000100000000000c00000400000000000830f0000180000000040100000000000a900000000000000006b0f0000180000000040100000000000b005000000000000006b0f0000000000000050100000000000a90000000000000000530f0000180000000050100000000000b00700000000000000530f0000000000000060100000000000a90000000000000000320f0000210000000070100000000000a90000000000000000110f0000210000000080100000000000a90000000000000000f00e0000210000000000500000000000a90000000000000000cf0e0000210000000000500000000000c00000800000000000b70e0000180000000000500000000000c00000800000000000d80e0000180000000000500000000000c000008000000000000b0f0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000800000000000f30e000018", 0x1c0, 0x106000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000001000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000005000000000000000010000000000000200000000000000c3bf71582d352c5900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100701000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000040000000000000002000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f00003000"/416, 0x1a0, 0x106f00}, {&(0x7f0000011500)="0300000000000000000100000000000000005000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8a3de297851322b14d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100801000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000030000000000000003000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e00005000"/288, 0x120, 0x107fa0}, {&(0x7f0000011700)="80000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000000008000000000000c000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x100, 0x108f00}, {&(0x7f0000011800)="2ef275741d6ba76c00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000010000000000000004000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b70100000500000000000000840000000000000000760a0000b70100000700000000000000840000000000000000bf080000b70100"/224, 0xe0, 0x500000}, {&(0x7f0000011900)="0000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000", 0x40, 0x500920}, {&(0x7f0000011a00)="00000000010000000000000000000000000000000050100000000000000000000000000000100000000000000000000000000000000000000000000001000000", 0x40, 0x5009c0}, {&(0x7f0000011b00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x500ac0}, {&(0x7f0000011c00)="000000000000000000000000000000000000000000000000000000010000000000000000000000000000000040100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/160, 0xa0, 0x500b60}, {&(0x7f0000011d00)="000056bc645f000000000000000056bc645f00"/32, 0x20, 0x500c20}, {&(0x7f0000011e00)="00000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x500c80}, {&(0x7f0000011f00)="000000000000000000000000000000000000020000000000000000000000000000000070100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200"/128, 0x80, 0x500d20}, {&(0x7f0000012000)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x500e40}, {&(0x7f0000012100)="000000000000000000020000000000000000000000000000000060100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200000000000000", 0x60, 0x500ee0}, {&(0x7f0000012200)="f02ffff79e9bb19b00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000040000000000000003000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f0000300000000100000000000000cc0000d000000000000b0f00003000"/192, 0xc0, 0x501000}, {&(0x7f0000012300)="00000000000000000000000000000000030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8a53b946b86f22526900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100205000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a030000000000000002000000000000000a000000000000100000000000a900000000000000007a0f0000210000000000100000000000c00000400000000000620f0000180000000050100000000000a900000000000000004a0f0000180000000050100000000000b007000000000000004a0f0000000000000000500000000000c00000800000000000320f0000180000000010500000000000a90000000000000000110f0000210000000020500000000000a90000000000000000f00e0000210000000030500000000000a90000000000000000cf0e0000210000000040500000000000a90000000000000000ae0e0000210000000000d00000000000c00000800000000000960e0000180000000000500000000000c00000800000000000ae0e0000180000000000d00000000000c00000800000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000800000000000f30e000018", 0x260, 0x501f60}, {&(0x7f0000012600)="000000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000004000000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000002000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000a33ab8dbdd2b9f1c00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100305000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000010000000000000008000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b70100"/608, 0x260, 0x502ee0}, {&(0x7f0000012900)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x503840}, {&(0x7f0000012a00)="00000100000000000000000000000000000000501000000000000000000000000000001000000000000000000000000000000000000000000000010000000000", 0x40, 0x5038e0}, {&(0x7f0000012b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5039e0}, {&(0x7f0000012d00)="00000000000000000000030000000000000000010000000000000040500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x503b60}, {&(0x7f0000012e00)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x503c00}, {&(0x7f0000012f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x19, 0x503c80}, {&(0x7f0000013000)="000000000000000000000000000000000000030000000000000000000000000000000010500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x503d20}, {&(0x7f0000013100)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x503e40}, {&(0x7f0000013200)="000000000000000000030000000000000000000000000000000020500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x503ee0}, {&(0x7f0000013300)="06feba100dc654bf00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100405000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x504000}, {&(0x7f0000013400)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f0000000000000000", 0xc0, 0x504f40}, {&(0x7f0000013500)="13b55bb6b810fbcd00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000030000000000000006000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e0000500000000001000000000000e40000500100000000d90d0000700000000001000000000000e40000d00100000000690d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000013600)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81d6acfd72eafd626a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000d00000000000e90e0000500000000001000000000000e40000500100000000790e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000b90d0000700000000000000000", 0x340, 0x1500dc0}, {&(0x7f0000013a00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x240, 0x1501dc0}, {&(0x7f0000013d00)="13b55bb6b810fbcd00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000030000000000000006000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e0000500000000001000000000000e40000500100000000d90d0000700000000001000000000000e40000d00100000000690d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f0000013e00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81d6acfd72eafd626a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000d00000000000e90e0000500000000001000000000000e40000500100000000790e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000b90d0000700000000000000000", 0x340, 0x1d00dc0}, {&(0x7f0000014200)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x240, 0x1d01dc0}, {&(0x7f0000014500)="83a13760d306fa7400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810000d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x160, 0x2500000}, {&(0x7f0000014700)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2500560}, {&(0x7f0000014800)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2500720}, {&(0x7f0000014900)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2500840}, {&(0x7f0000014a00)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x25008e0}, {&(0x7f0000014b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x25009e0}, {&(0x7f0000014d00)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x2500b60}, {&(0x7f0000014e00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2500c80}, {&(0x7f0000014f00)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x2500d20}, {&(0x7f0000015000)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2500e40}, {&(0x7f0000015100)="000000000000000000070000000000000000000000000000000010d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2500ee0}, {&(0x7f0000015200)="375b5cf38233454d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810010d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000a90000000000000000f40e0000210000000000d00100000000c00000000200000000dc0e0000180000000010d00100000000a90000000000000000bb0e0000210000000020d00100000000a900000000000000009a0e0000210000000030d00100000000a90000000000000000790e0000210000000050d00100000000a90000000000000000580e0000210000000060d00100000000a90000000000000000370e00002100000000b0d00100000000a90100000000000000160e00002100000000c0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x2501000}, {&(0x7f0000015400)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b00200000000000000009000000000000000010000000000002400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000042f346881baae2a500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810020d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000012000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e0000230000000001000000000000600200000000000000190e0000230000000001000000000000600300000000000000f60d0000230000000001000000000000600400000000000000d30d0000230000000001000000000000600500000000000000b00d0000230000000001000000000000600600000000000000890d0000270000000101000000000000010000000000000000e90c0000a000000001010000000000000c0001000000000000da0c00000f0000000101000000000000544bae790400000000b70c000023000000010100000000000054482d12f600000000940c0000230000000101000000000000600200000000000000710c00002300000001010000000000006003000000000000004e0c00002300"/1056, 0x420, 0x2501e20}, {&(0x7f0000015900)="0000000000000000000000000000000000000003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860556bc645f0000000000000000ee8f43a922a3075500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810030d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000007000000000000000100000000f6ffffffffffffff800000d00000000000830f0000180000000000", 0x3e0, 0x2502ca0}, {&(0x7f0000015d00)="0000000000000000dbbbd8326f9b86acdbbbd8326f9b86acdbbbd8326f9b86acf869dc16da8c382300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810040d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a04000000000000000700000000000000", 0x80, 0x2503fe0}, {&(0x7f0000015e00)="212e70347c67ba1600000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810050d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x2505000}, {&(0x7f0000015f00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f00000000000000000000000000000000000000009621698429c3449400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810060d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a040000000000000009000000000000000100000000cf9f1a2a1b9845b8fb9a6198a10e07b8bb930f0000080000000000", 0x140, 0x2505f40}, {&(0x7f0000016100)="0000000000000000000000000000000000000000000000000500000000000000f78d7e2e6b8ae6ba00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810070d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000002000000000000000b000000000000d00000000000c00000800000000000830f0000180000000000500100000000c000008000000000006b0f0000180000000010500100000000a900000000000000004a0f0000210000000000d00100000000a90000000000000000290f0000210000000000d00100000000c00000000200000000110f0000180000000040d00100000000a90000000000000000f00e0000210000000050d00100000000a90000000000000000cf0e0000210000000060d00100000000a90000000000000000ae0e0000210000000070d00100000000a900000000000000008d0e0000210000000080d00100000000a900000000000000006c0e0000210000000090d00100000000a900000000000000004b0e0000210000000060d00100000000a900000000000000004b0e0000210000000060d00100000000a90000000000000000330e0000210000000000500000000000c00000800000000000f30e000018", 0x1e0, 0x2506fe0}, {&(0x7f0000016300)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000007000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000fb88c6470f9a20e800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810080d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b0f0000300000000100000000000000cc00005001000000003b0f0000300000000100000000000000cc0000d001000000000b0f0000300000000100000000000000cc0000500200000000db0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc00005004000000007b0e00003000"/672, 0x2a0, 0x2507e80}, {&(0x7f0000016600)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a8956e0beeb8c26ff00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810090d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x2c0, 0x2508ea0}, {&(0x7f0000016900)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2509560}, {&(0x7f0000016a00)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2509720}, {&(0x7f0000016b00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2509840}, {&(0x7f0000016c00)="0000040000000000000000000000000000000040d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x25098e0}, {&(0x7f0000016d00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x25099e0}, {&(0x7f0000016f00)="00000000000000000000040000000000000000010000000000000000d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x2509b60}, {&(0x7f0000017000)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x2509c00}, {&(0x7f0000017100)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2509c80}, {&(0x7f0000017200)="000000000000000000000000000000000000050000000000000000000000000000000080d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x2509d20}, {&(0x7f0000017300)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2509e40}, {&(0x7f0000017400)="000000000000000000050000000000000000000000000000000070d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x2509ee0}, {&(0x7f0000017500)="6985e3fce7473a2000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100a0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000c00000000200000000fd0e0000180000000020d00100000000a90000000000000000dc0e0000210000000030d00100000000a90000000000000000bb0e0000210000000050d00100000000a900000000000000009a0e0000210000000060d00100000000a90000000000000000790e00002100000000a0d00100000000a90000000000000000580e00002100000000b0d00100000000a90100000000000000370e00002100000000c0d00100000000a90000000000000000160e00002100000000d0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x250a000}, {&(0x7f0000017700)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000009000000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000bc6da46c6eab74d000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100b0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a06000000000000000500000000000000020000000100010000000000000100000000000000000020d001000000000600000000000000020100000000000001000000000000000000c0d0010000000006", 0x280, 0x250ae20}, {&(0x7f0000017a00)="8bfe0fbb4e9d559800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100c0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000011000000000201000000000000010000000000000000fb0e0000a000000002010000000000000c0101000000000000ec0e00000f00000002010000000000006c0000000000000000bd0a00002f04000003010000000000000100000000000000001d0a0000a000000003010000000000000c01010000000000000e0a00000f00000003010000000000006c0000000000000000d30900003b000000040100000000000001000000000000000033090000a000000004010000000000000c0001000000000000240900000f00000004010000000000001822a8f12600000000f50800002f000000040100000000000018d65ba13500000000c60800002f00000004010000000000006c0000000000000000a70800001f000000050100000000000001000000000000000007080000a000000005010000000000000c0001000000000000e90700001e00000005010000000000006c0000000000000000b407000035000000060100000000000001000000000000000014070000a000000006010000000000000c0001000000000000010700001300000006010000000000006c0000000000000000880600007900"/544, 0x220, 0x250c000}, {&(0x7f0000017d00)="0000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3035303436393336392f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea8605a5ae72607248d87700000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100d0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a0000000000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b70100"/2688, 0xa80, 0x250c6e0}, {&(0x7f0000018800)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x250d560}, {&(0x7f0000018900)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x250d720}, {&(0x7f0000018a00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x250d840}, {&(0x7f0000018b00)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x250d8e0}, {&(0x7f0000018c00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x250d9e0}, {&(0x7f0000018e00)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x250db60}, {&(0x7f0000018f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x250dc80}, {&(0x7f0000019000)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x250dd20}, {&(0x7f0000019100)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x250de40}, {&(0x7f0000019200)="0000000000000000000600000000000000000000000000000000a0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x250dee0}, {&(0x7f0000019300)="29ceb8de4c63b19000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100e0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000040000000000000006000000000000000000000000f90100000000000000730f0000280000000100000000000000cc0000d00000000000430f0000300000000100000000000000cc0000500100000000130f0000300000000100000000000000cc0000d00100000000e30e0000300000000100000000000000cc0000500200000000b30e0000300000000100000000000000cc0000500400000000830e0000300000000000000000", 0x100, 0x250e000}, {&(0x7f0000019400)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0000000000000000", 0x100, 0x250eee0}, {&(0x7f0000019500)="f78b7917a1884c5000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d81000000040000000001000000000000005f42485266535f4d07000000000000000000d00100000000001050010000000000000000000000000000000000000000000000080000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000081000000050000000000000000000000000000000000000000000000450100000000000001000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d8100"/320, 0x140, 0x4000000}, {&(0x7f0000019700)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x4000220}, {&(0x7f0000019800)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae316000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600"/256, 0x100, 0x4000320}, {&(0x7f0000019900)="00000000000000000000000090d001000000000500000000000000001050010000000005000000000000000070d0010000000005000000000000000000d0010000000004000000000000000080d0010000000005000000000000000040d00100000000040000000000000000000008000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0d0010000000006000000000000000010500100000000050000000000000000a0d00100000000060000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000d001000000000700000000000000001050010000000005000000000000000010d00100000000070000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000010d001000000000400000000000000000050010000000004000000000000000020d0010000000004000000000000000000d0010000000004000000000000000030d0010000000004000000000000000040d001000000000400000000000000000000080000000000800000000000000100"/640, 0x280, 0x4000b20}, {&(0x7f0000019c00)="83a13760d306fa7400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810000d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x160, 0x4500000}, {&(0x7f0000019e00)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4500560}, {&(0x7f0000019f00)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4500720}, {&(0x7f000001a000)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4500840}, {&(0x7f000001a100)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x45008e0}, {&(0x7f000001a200)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x45009e0}, {&(0x7f000001a400)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x4500b60}, {&(0x7f000001a500)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4500c80}, {&(0x7f000001a600)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x4500d20}, {&(0x7f000001a700)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4500e40}, {&(0x7f000001a800)="000000000000000000070000000000000000000000000000000010d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4500ee0}, {&(0x7f000001a900)="375b5cf38233454d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810010d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000a90000000000000000f40e0000210000000000d00100000000c00000000200000000dc0e0000180000000010d00100000000a90000000000000000bb0e0000210000000020d00100000000a900000000000000009a0e0000210000000030d00100000000a90000000000000000790e0000210000000050d00100000000a90000000000000000580e0000210000000060d00100000000a90000000000000000370e00002100000000b0d00100000000a90100000000000000160e00002100000000c0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x4501000}, {&(0x7f000001ab00)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b00200000000000000009000000000000000010000000000002400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000042f346881baae2a500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810020d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000012000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e0000230000000001000000000000600200000000000000190e0000230000000001000000000000600300000000000000f60d0000230000000001000000000000600400000000000000d30d0000230000000001000000000000600500000000000000b00d0000230000000001000000000000600600000000000000890d0000270000000101000000000000010000000000000000e90c0000a000000001010000000000000c0001000000000000da0c00000f0000000101000000000000544bae790400000000b70c000023000000010100000000000054482d12f600000000940c0000230000000101000000000000600200000000000000710c00002300000001010000000000006003000000000000004e0c00002300"/1056, 0x420, 0x4501e20}, {&(0x7f000001b000)="0000000000000000000000000000000000000003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860556bc645f0000000000000000ee8f43a922a3075500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810030d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000007000000000000000100000000f6ffffffffffffff800000d00000000000830f0000180000000000", 0x3e0, 0x4502ca0}, {&(0x7f000001b400)="0000000000000000dbbbd8326f9b86acdbbbd8326f9b86acdbbbd8326f9b86acf869dc16da8c382300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810040d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a04000000000000000700000000000000", 0x80, 0x4503fe0}, {&(0x7f000001b500)="212e70347c67ba1600000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810050d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x4505000}, {&(0x7f000001b600)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f00000000000000000000000000000000000000009621698429c3449400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810060d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a040000000000000009000000000000000100000000cf9f1a2a1b9845b8fb9a6198a10e07b8bb930f0000080000000000", 0x140, 0x4505f40}, {&(0x7f0000000f80)="0000000000000000000000000000000000000000000000000500000000000000f78d7e2e6b8ae6ba00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810070d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000002000000000000000b000000000000d00000000000c00000800000000000830f0000180000000000500100000000c000008000000000006b0f0000180000000010500100000000a900000000000000004a0f0000210000000000d00100000000a90000000000000000290f0000210000000000d00100000000c00000000200000000110f0000180000000040d00100000000a90000000000000000f00e0000210000000050d00100000000a90000000000000000cf0e0000210000000060d00100000000a90000000000000000ae0e0000210000000070d00100000000a900000000000000008d0e0000210000000080d00100000000a900000000000000006c0e0000210000000090d00100000000a900000000000000004b0e0000210000000060d00100000000a900000000000000004b0e0000210000000060d00100000000a90000000000000000330e0000210000000000500000000000c00000800000000000f30e000018", 0x1e0, 0x4506fe0}, {&(0x7f000001ba00)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000007000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000fb88c6470f9a20e800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810080d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b0f0000300000000100000000000000cc00005001000000003b0f0000300000000100000000000000cc0000d001000000000b0f0000300000000100000000000000cc0000500200000000db0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc00005004000000007b0e00003000"/672, 0x2a0, 0x4507e80}, {&(0x7f000001bd00)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a8956e0beeb8c26ff00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810090d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x2c0, 0x4508ea0}, {&(0x7f000001c000)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4509560}, {&(0x7f000001c100)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4509720}, {&(0x7f000001c200)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4509840}, {&(0x7f000001c300)="0000040000000000000000000000000000000040d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x45098e0}, {&(0x7f000001c400)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x45099e0}, {&(0x7f000001c600)="00000000000000000000040000000000000000010000000000000000d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x4509b60}, {&(0x7f000001c700)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x4509c00}, {&(0x7f000001c800)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4509c80}, {&(0x7f000001c900)="000000000000000000000000000000000000050000000000000000000000000000000080d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x4509d20}, {&(0x7f000001ca00)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4509e40}, {&(0x7f000001cb00)="000000000000000000050000000000000000000000000000000070d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x4509ee0}, {&(0x7f000001cc00)="6985e3fce7473a2000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100a0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000c00000000200000000fd0e0000180000000020d00100000000a90000000000000000dc0e0000210000000030d00100000000a90000000000000000bb0e0000210000000050d00100000000a900000000000000009a0e0000210000000060d00100000000a90000000000000000790e00002100000000a0d00100000000a90000000000000000580e00002100000000b0d00100000000a90100000000000000370e00002100000000c0d00100000000a90000000000000000160e00002100000000d0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x450a000}, {&(0x7f000001ce00)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000009000000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000bc6da46c6eab74d000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100b0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a06000000000000000500000000000000020000000100010000000000000100000000000000000020d001000000000600000000000000020100000000000001000000000000000000c0d0010000000006", 0x280, 0x450ae20}, {&(0x7f000001d100)="8bfe0fbb4e9d559800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100c0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000011000000000201000000000000010000000000000000fb0e0000a000000002010000000000000c0101000000000000ec0e00000f00000002010000000000006c0000000000000000bd0a00002f04000003010000000000000100000000000000001d0a0000a000000003010000000000000c01010000000000000e0a00000f00000003010000000000006c0000000000000000d30900003b000000040100000000000001000000000000000033090000a000000004010000000000000c0001000000000000240900000f00000004010000000000001822a8f12600000000f50800002f000000040100000000000018d65ba13500000000c60800002f00000004010000000000006c0000000000000000a70800001f000000050100000000000001000000000000000007080000a000000005010000000000000c0001000000000000e90700001e00000005010000000000006c0000000000000000b407000035000000060100000000000001000000000000000014070000a000000006010000000000000c0001000000000000010700001300000006010000000000006c0000000000000000880600007900"/544, 0x220, 0x450c000}, {&(0x7f000001d400)="0000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3035303436393336392f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea8605a5ae72607248d87700000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100d0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0xa80, 0x450c6e0}, {&(0x7f000001df00)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x450d560}, {&(0x7f000001e000)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x450d720}, {&(0x7f000001e100)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x450d840}, {&(0x7f000001e200)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x450d8e0}, {&(0x7f000001e300)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x450d9e0}, {&(0x7f000001e500)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x450db60}, {&(0x7f000001e600)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x450dc80}, {&(0x7f000001e700)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x450dd20}, {&(0x7f000001e800)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x450de40}, {&(0x7f000001e900)="0000000000000000000600000000000000000000000000000000a0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x450dee0}, {&(0x7f000001ea00)="29ceb8de4c63b19000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100e0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000040000000000000006000000000000000000000000f90100000000000000730f0000280000000100000000000000cc0000d00000000000430f0000300000000100000000000000cc0000500100000000130f0000300000000100000000000000cc0000d00100000000e30e0000300000000100000000000000cc0000500200000000b30e0000300000000100000000000000cc0000500400000000830e0000300000000000000000", 0x100, 0x450e000}, {&(0x7f000001eb00)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0000000000000000", 0x100, 0x450eee0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="005ecf9a0616b39be7ef5d8a3ba09749526ee8165a1b4be7106f3e30b77039bca68336e5a3b30d12d50cfc762fc2894c8233febaa79166e92b01fa6f601b19851b321d7448bb112a9735c2c85488870db09873a2b1e2b10534fa40838b12eb44842c0baf0dc524f042a6ba908299924b65187c34f07b72cb605e071f93beefe0e08c742bf5af1b89ce233cbe5c75b06d49d2b82102a48eb9ae592571dc1385951d4c79e13c4092ffcc698c1e1dead89366880abf"]) 12:44:56 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x48, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:56 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) (async) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(0xffffffffffffffff, 0xc0189375, &(0x7f00000000c0)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=r0, @ANYBLOB='\x00\x00\x00\x00\x00\x00\x00\x00./filk0\x00']) (async) sendmsg$NL80211_CMD_DEL_STATION(r2, &(0x7f00000001c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x1c, r1, 0x8, 0x70bd2d, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_MGMT_SUBTYPE={0x5, 0x29, 0xa}]}, 0x1c}, 0x1, 0x0, 0x0, 0x4800}, 0x4000) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f00000002c0)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000280)={&(0x7f0000000240)={0x20, r1, 0x10, 0x70bd26, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_OFFCHANNEL_TX_OK={0x4}, @NL80211_ATTR_DURATION={0x8, 0x57, 0x5fd}]}, 0x20}, 0x1, 0x0, 0x0, 0x1}, 0x20000000) (async) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r0) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000080)={0x2c, r3, 0x800, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc, 0x99, {0x1, 0x6d}}}}, [@NL80211_ATTR_DONT_WAIT_FOR_ACK={0x3a}]}, 0x2c}}, 0x0) 12:44:56 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xfffffff6) 12:44:56 executing program 0: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000000, 0x8e, &(0x7f0000000200)=[{&(0x7f0000010000)="1e3b823093709a3900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d81000001000000000001000000000000005f42485266535f4d07000000000000000000d00100000000001050010000000000000000000000000000000000000000000000080000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000081000000050000000000000000000000000000000000000000000000450100000000000001000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d8100"/320, 0x140, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae316000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600"/256, 0x100, 0x10320}, {&(0x7f0000010400)="00000000000000000000000090d001000000000500000000000000001050010000000005000000000000000070d0010000000005000000000000000000d0010000000004000000000000000080d0010000000005000000000000000040d00100000000040000000000000000000008000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0d0010000000006000000000000000010500100000000050000000000000000a0d00100000000060000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000d001000000000700000000000000001050010000000005000000000000000010d00100000000070000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000010d001000000000400000000000000000050010000000004000000000000000020d0010000000004000000000000000000d0010000000004000000000000000030d0010000000004000000000000000040d001000000000400000000000000000000080000000000800000000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="c927c55f7b0c96a800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100001000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004001000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81dcc00a7fed512bb300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100101000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a010000000000000002000000000000000c000000000000100000000000a90000000000000000830f0000180000000000100000000000b00100000000000000830f0000000000000010100000000000a900000000000000006b0f0000180000000010100000000000b002000000000000006b0f0000000000000020100000000000a90000000000000000530f0000180000000020100000000000b00300000000000000530f0000000000000030100000000000a900000000000000003b0f0000180000000030100000000000b004000000000000003b0f0000000000000040100000000000a90000000000000000230f0000180000000040100000000000b00500000000000000230f0000000000000050100000000000a900000000000000000b0f0000180000000050100000000000b007000000000000000b0f00"/768, 0x300, 0x100ea0}, {&(0x7f0000010b00)="000000000000000000000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000750a4df13b2d32f00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100201000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a0100000000000000030000000000000002000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e00005000"/320, 0x140, 0x101f60}, {&(0x7f0000010d00)="0000000000000000000000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d815e4a4e22a61cc93300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100301000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a0100000000000000040000000000000001000000000100000000000000cc00001000000000006b0f0000300000000000", 0x140, 0x102f40}, {&(0x7f0000010f00)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8af54f44da779d899a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100401000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a01000000000000000500000000000000", 0xa0, 0x103fc0}, {&(0x7f0000011000)="22a074eedaab243e00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100501000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a01000000000000000700000000000000", 0x60, 0x105000}, {&(0x7f0000011100)="95ac3712c7e7ec2e00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100601000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a020000000000000002000000000000000a000000000000100000000000c00000400000000000830f0000180000000040100000000000a900000000000000006b0f0000180000000040100000000000b005000000000000006b0f0000000000000050100000000000a90000000000000000530f0000180000000050100000000000b00700000000000000530f0000000000000060100000000000a90000000000000000320f0000210000000070100000000000a90000000000000000110f0000210000000080100000000000a90000000000000000f00e0000210000000000500000000000a90000000000000000cf0e0000210000000000500000000000c00000800000000000b70e0000180000000000500000000000c00000800000000000d80e0000180000000000500000000000c000008000000000000b0f0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000800000000000f30e000018", 0x1c0, 0x106000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000001000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000005000000000000000010000000000000200000000000000c3bf71582d352c5900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100701000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000040000000000000002000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f00003000"/416, 0x1a0, 0x106f00}, {&(0x7f0000011500)="0300000000000000000100000000000000005000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8a3de297851322b14d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100801000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000030000000000000003000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e00005000"/288, 0x120, 0x107fa0}, {&(0x7f0000011700)="80000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000000008000000000000c000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x100, 0x108f00}, {&(0x7f0000011800)="2ef275741d6ba76c00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000010000000000000004000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b70100000500000000000000840000000000000000760a0000b70100000700000000000000840000000000000000bf080000b70100"/224, 0xe0, 0x500000}, {&(0x7f0000011900)="0000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000", 0x40, 0x500920}, {&(0x7f0000011a00)="00000000010000000000000000000000000000000050100000000000000000000000000000100000000000000000000000000000000000000000000001000000", 0x40, 0x5009c0}, {&(0x7f0000011b00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x500ac0}, {&(0x7f0000011c00)="000000000000000000000000000000000000000000000000000000010000000000000000000000000000000040100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/160, 0xa0, 0x500b60}, {&(0x7f0000011d00)="000056bc645f000000000000000056bc645f00"/32, 0x20, 0x500c20}, {&(0x7f0000011e00)="00000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x500c80}, {&(0x7f0000011f00)="000000000000000000000000000000000000020000000000000000000000000000000070100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200"/128, 0x80, 0x500d20}, {&(0x7f0000012000)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x500e40}, {&(0x7f0000012100)="000000000000000000020000000000000000000000000000000060100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200000000000000", 0x60, 0x500ee0}, {&(0x7f0000012200)="f02ffff79e9bb19b00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000040000000000000003000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f0000300000000100000000000000cc0000d000000000000b0f00003000"/192, 0xc0, 0x501000}, {&(0x7f0000012300)="00000000000000000000000000000000030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8a53b946b86f22526900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100205000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a030000000000000002000000000000000a000000000000100000000000a900000000000000007a0f0000210000000000100000000000c00000400000000000620f0000180000000050100000000000a900000000000000004a0f0000180000000050100000000000b007000000000000004a0f0000000000000000500000000000c00000800000000000320f0000180000000010500000000000a90000000000000000110f0000210000000020500000000000a90000000000000000f00e0000210000000030500000000000a90000000000000000cf0e0000210000000040500000000000a90000000000000000ae0e0000210000000000d00000000000c00000800000000000960e0000180000000000500000000000c00000800000000000ae0e0000180000000000d00000000000c00000800000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000800000000000f30e000018", 0x260, 0x501f60}, {&(0x7f0000012600)="000000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000004000000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000002000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000a33ab8dbdd2b9f1c00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100305000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000010000000000000008000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b70100"/608, 0x260, 0x502ee0}, {&(0x7f0000012900)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x503840}, {&(0x7f0000012a00)="00000100000000000000000000000000000000501000000000000000000000000000001000000000000000000000000000000000000000000000010000000000", 0x40, 0x5038e0}, {&(0x7f0000012b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5039e0}, {&(0x7f0000012d00)="00000000000000000000030000000000000000010000000000000040500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x503b60}, {&(0x7f0000012e00)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x503c00}, {&(0x7f0000012f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x19, 0x503c80}, {&(0x7f0000013000)="000000000000000000000000000000000000030000000000000000000000000000000010500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x503d20}, {&(0x7f0000013100)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x503e40}, {&(0x7f0000013200)="000000000000000000030000000000000000000000000000000020500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x503ee0}, {&(0x7f0000013300)="06feba100dc654bf00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100405000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x504000}, {&(0x7f0000013400)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f0000000000000000", 0xc0, 0x504f40}, {&(0x7f0000013500)="13b55bb6b810fbcd00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000030000000000000006000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e0000500000000001000000000000e40000500100000000d90d0000700000000001000000000000e40000d00100000000690d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000013600)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81d6acfd72eafd626a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000d00000000000e90e0000500000000001000000000000e40000500100000000790e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000b90d0000700000000000000000", 0x340, 0x1500dc0}, {&(0x7f0000013a00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x240, 0x1501dc0}, {&(0x7f0000013d00)="13b55bb6b810fbcd00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000030000000000000006000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e0000500000000001000000000000e40000500100000000d90d0000700000000001000000000000e40000d00100000000690d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f0000013e00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81d6acfd72eafd626a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000d00000000000e90e0000500000000001000000000000e40000500100000000790e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000b90d0000700000000000000000", 0x340, 0x1d00dc0}, {&(0x7f0000014200)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x240, 0x1d01dc0}, {&(0x7f0000014500)="83a13760d306fa7400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810000d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x160, 0x2500000}, {&(0x7f0000014700)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2500560}, {&(0x7f0000014800)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2500720}, {&(0x7f0000014900)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2500840}, {&(0x7f0000014a00)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x25008e0}, {&(0x7f0000014b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x25009e0}, {&(0x7f0000014d00)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x2500b60}, {&(0x7f0000014e00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2500c80}, {&(0x7f0000014f00)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x2500d20}, {&(0x7f0000015000)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2500e40}, {&(0x7f0000015100)="000000000000000000070000000000000000000000000000000010d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2500ee0}, {&(0x7f0000015200)="375b5cf38233454d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810010d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000a90000000000000000f40e0000210000000000d00100000000c00000000200000000dc0e0000180000000010d00100000000a90000000000000000bb0e0000210000000020d00100000000a900000000000000009a0e0000210000000030d00100000000a90000000000000000790e0000210000000050d00100000000a90000000000000000580e0000210000000060d00100000000a90000000000000000370e00002100000000b0d00100000000a90100000000000000160e00002100000000c0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x2501000}, {&(0x7f0000015400)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b00200000000000000009000000000000000010000000000002400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000042f346881baae2a500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810020d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000012000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e0000230000000001000000000000600200000000000000190e0000230000000001000000000000600300000000000000f60d0000230000000001000000000000600400000000000000d30d0000230000000001000000000000600500000000000000b00d0000230000000001000000000000600600000000000000890d0000270000000101000000000000010000000000000000e90c0000a000000001010000000000000c0001000000000000da0c00000f0000000101000000000000544bae790400000000b70c000023000000010100000000000054482d12f600000000940c0000230000000101000000000000600200000000000000710c00002300000001010000000000006003000000000000004e0c00002300"/1056, 0x420, 0x2501e20}, {&(0x7f0000015900)="0000000000000000000000000000000000000003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860556bc645f0000000000000000ee8f43a922a3075500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810030d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000007000000000000000100000000f6ffffffffffffff800000d00000000000830f0000180000000000", 0x3e0, 0x2502ca0}, {&(0x7f0000015d00)="0000000000000000dbbbd8326f9b86acdbbbd8326f9b86acdbbbd8326f9b86acf869dc16da8c382300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810040d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a04000000000000000700000000000000", 0x80, 0x2503fe0}, {&(0x7f0000015e00)="212e70347c67ba1600000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810050d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x2505000}, {&(0x7f0000015f00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f00000000000000000000000000000000000000009621698429c3449400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810060d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a040000000000000009000000000000000100000000cf9f1a2a1b9845b8fb9a6198a10e07b8bb930f0000080000000000", 0x140, 0x2505f40}, {&(0x7f0000016100)="0000000000000000000000000000000000000000000000000500000000000000f78d7e2e6b8ae6ba00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810070d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000002000000000000000b000000000000d00000000000c00000800000000000830f0000180000000000500100000000c000008000000000006b0f0000180000000010500100000000a900000000000000004a0f0000210000000000d00100000000a90000000000000000290f0000210000000000d00100000000c00000000200000000110f0000180000000040d00100000000a90000000000000000f00e0000210000000050d00100000000a90000000000000000cf0e0000210000000060d00100000000a90000000000000000ae0e0000210000000070d00100000000a900000000000000008d0e0000210000000080d00100000000a900000000000000006c0e0000210000000090d00100000000a900000000000000004b0e0000210000000060d00100000000a900000000000000004b0e0000210000000060d00100000000a90000000000000000330e0000210000000000500000000000c00000800000000000f30e000018", 0x1e0, 0x2506fe0}, {&(0x7f0000016300)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000007000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000fb88c6470f9a20e800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810080d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b0f0000300000000100000000000000cc00005001000000003b0f0000300000000100000000000000cc0000d001000000000b0f0000300000000100000000000000cc0000500200000000db0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc00005004000000007b0e00003000"/672, 0x2a0, 0x2507e80}, {&(0x7f0000016600)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a8956e0beeb8c26ff00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810090d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x2c0, 0x2508ea0}, {&(0x7f0000016900)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2509560}, {&(0x7f0000016a00)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2509720}, {&(0x7f0000016b00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2509840}, {&(0x7f0000016c00)="0000040000000000000000000000000000000040d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x25098e0}, {&(0x7f0000016d00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x25099e0}, {&(0x7f0000016f00)="00000000000000000000040000000000000000010000000000000000d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x2509b60}, {&(0x7f0000017000)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x2509c00}, {&(0x7f0000017100)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2509c80}, {&(0x7f0000017200)="000000000000000000000000000000000000050000000000000000000000000000000080d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x2509d20}, {&(0x7f0000017300)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2509e40}, {&(0x7f0000017400)="000000000000000000050000000000000000000000000000000070d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x2509ee0}, {&(0x7f0000017500)="6985e3fce7473a2000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100a0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000c00000000200000000fd0e0000180000000020d00100000000a90000000000000000dc0e0000210000000030d00100000000a90000000000000000bb0e0000210000000050d00100000000a900000000000000009a0e0000210000000060d00100000000a90000000000000000790e00002100000000a0d00100000000a90000000000000000580e00002100000000b0d00100000000a90100000000000000370e00002100000000c0d00100000000a90000000000000000160e00002100000000d0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x250a000}, {&(0x7f0000017700)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000009000000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000bc6da46c6eab74d000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100b0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a06000000000000000500000000000000020000000100010000000000000100000000000000000020d001000000000600000000000000020100000000000001000000000000000000c0d0010000000006", 0x280, 0x250ae20}, {&(0x7f0000017a00)="8bfe0fbb4e9d559800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100c0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000011000000000201000000000000010000000000000000fb0e0000a000000002010000000000000c0101000000000000ec0e00000f00000002010000000000006c0000000000000000bd0a00002f04000003010000000000000100000000000000001d0a0000a000000003010000000000000c01010000000000000e0a00000f00000003010000000000006c0000000000000000d30900003b000000040100000000000001000000000000000033090000a000000004010000000000000c0001000000000000240900000f00000004010000000000001822a8f12600000000f50800002f000000040100000000000018d65ba13500000000c60800002f00000004010000000000006c0000000000000000a70800001f000000050100000000000001000000000000000007080000a000000005010000000000000c0001000000000000e90700001e00000005010000000000006c0000000000000000b407000035000000060100000000000001000000000000000014070000a000000006010000000000000c0001000000000000010700001300000006010000000000006c0000000000000000880600007900"/544, 0x220, 0x250c000}, {&(0x7f0000017d00)="0000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3035303436393336392f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea8605a5ae72607248d87700000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100d0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a0000000000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b70100"/2688, 0xa80, 0x250c6e0}, {&(0x7f0000018800)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x250d560}, {&(0x7f0000018900)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x250d720}, {&(0x7f0000018a00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x250d840}, {&(0x7f0000018b00)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x250d8e0}, {&(0x7f0000018c00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x250d9e0}, {&(0x7f0000018e00)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x250db60}, {&(0x7f0000018f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x250dc80}, {&(0x7f0000019000)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x250dd20}, {&(0x7f0000019100)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x250de40}, {&(0x7f0000019200)="0000000000000000000600000000000000000000000000000000a0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x250dee0}, {&(0x7f0000019300)="29ceb8de4c63b19000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100e0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000040000000000000006000000000000000000000000f90100000000000000730f0000280000000100000000000000cc0000d00000000000430f0000300000000100000000000000cc0000500100000000130f0000300000000100000000000000cc0000d00100000000e30e0000300000000100000000000000cc0000500200000000b30e0000300000000100000000000000cc0000500400000000830e0000300000000000000000", 0x100, 0x250e000}, {&(0x7f0000019400)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0000000000000000", 0x100, 0x250eee0}, {&(0x7f0000019500)="f78b7917a1884c5000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d81000000040000000001000000000000005f42485266535f4d07000000000000000000d00100000000001050010000000000000000000000000000000000000000000000080000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000081000000050000000000000000000000000000000000000000000000450100000000000001000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d8100"/320, 0x140, 0x4000000}, {&(0x7f0000019700)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x4000220}, {&(0x7f0000019800)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae316000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600"/256, 0x100, 0x4000320}, {&(0x7f0000019900)="00000000000000000000000090d001000000000500000000000000001050010000000005000000000000000070d0010000000005000000000000000000d0010000000004000000000000000080d0010000000005000000000000000040d00100000000040000000000000000000008000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0d0010000000006000000000000000010500100000000050000000000000000a0d00100000000060000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000d001000000000700000000000000001050010000000005000000000000000010d00100000000070000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000010d001000000000400000000000000000050010000000004000000000000000020d0010000000004000000000000000000d0010000000004000000000000000030d0010000000004000000000000000040d001000000000400000000000000000000080000000000800000000000000100"/640, 0x280, 0x4000b20}, {&(0x7f0000019c00)="83a13760d306fa7400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810000d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x160, 0x4500000}, {&(0x7f0000019e00)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4500560}, {&(0x7f0000019f00)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4500720}, {&(0x7f000001a000)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4500840}, {&(0x7f000001a100)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x45008e0}, {&(0x7f000001a200)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x45009e0}, {&(0x7f000001a400)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x4500b60}, {&(0x7f000001a500)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4500c80}, {&(0x7f000001a600)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x4500d20}, {&(0x7f000001a700)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4500e40}, {&(0x7f000001a800)="000000000000000000070000000000000000000000000000000010d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4500ee0}, {&(0x7f000001a900)="375b5cf38233454d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810010d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000a90000000000000000f40e0000210000000000d00100000000c00000000200000000dc0e0000180000000010d00100000000a90000000000000000bb0e0000210000000020d00100000000a900000000000000009a0e0000210000000030d00100000000a90000000000000000790e0000210000000050d00100000000a90000000000000000580e0000210000000060d00100000000a90000000000000000370e00002100000000b0d00100000000a90100000000000000160e00002100000000c0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x4501000}, {&(0x7f000001ab00)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b00200000000000000009000000000000000010000000000002400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000042f346881baae2a500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810020d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000012000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e0000230000000001000000000000600200000000000000190e0000230000000001000000000000600300000000000000f60d0000230000000001000000000000600400000000000000d30d0000230000000001000000000000600500000000000000b00d0000230000000001000000000000600600000000000000890d0000270000000101000000000000010000000000000000e90c0000a000000001010000000000000c0001000000000000da0c00000f0000000101000000000000544bae790400000000b70c000023000000010100000000000054482d12f600000000940c0000230000000101000000000000600200000000000000710c00002300000001010000000000006003000000000000004e0c00002300"/1056, 0x420, 0x4501e20}, {&(0x7f000001b000)="0000000000000000000000000000000000000003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860556bc645f0000000000000000ee8f43a922a3075500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810030d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000007000000000000000100000000f6ffffffffffffff800000d00000000000830f0000180000000000", 0x3e0, 0x4502ca0}, {&(0x7f000001b400)="0000000000000000dbbbd8326f9b86acdbbbd8326f9b86acdbbbd8326f9b86acf869dc16da8c382300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810040d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a04000000000000000700000000000000", 0x80, 0x4503fe0}, {&(0x7f000001b500)="212e70347c67ba1600000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810050d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x4505000}, {&(0x7f000001b600)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f00000000000000000000000000000000000000009621698429c3449400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810060d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a040000000000000009000000000000000100000000cf9f1a2a1b9845b8fb9a6198a10e07b8bb930f0000080000000000", 0x140, 0x4505f40}, {&(0x7f0000000f80)="0000000000000000000000000000000000000000000000000500000000000000f78d7e2e6b8ae6ba00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810070d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000002000000000000000b000000000000d00000000000c00000800000000000830f0000180000000000500100000000c000008000000000006b0f0000180000000010500100000000a900000000000000004a0f0000210000000000d00100000000a90000000000000000290f0000210000000000d00100000000c00000000200000000110f0000180000000040d00100000000a90000000000000000f00e0000210000000050d00100000000a90000000000000000cf0e0000210000000060d00100000000a90000000000000000ae0e0000210000000070d00100000000a900000000000000008d0e0000210000000080d00100000000a900000000000000006c0e0000210000000090d00100000000a900000000000000004b0e0000210000000060d00100000000a900000000000000004b0e0000210000000060d00100000000a90000000000000000330e0000210000000000500000000000c00000800000000000f30e000018", 0x1e0, 0x4506fe0}, {&(0x7f000001ba00)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000007000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000fb88c6470f9a20e800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810080d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b0f0000300000000100000000000000cc00005001000000003b0f0000300000000100000000000000cc0000d001000000000b0f0000300000000100000000000000cc0000500200000000db0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc00005004000000007b0e00003000"/672, 0x2a0, 0x4507e80}, {&(0x7f000001bd00)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a8956e0beeb8c26ff00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810090d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x2c0, 0x4508ea0}, {&(0x7f000001c000)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4509560}, {&(0x7f000001c100)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4509720}, {&(0x7f000001c200)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4509840}, {&(0x7f000001c300)="0000040000000000000000000000000000000040d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x45098e0}, {&(0x7f000001c400)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x45099e0}, {&(0x7f000001c600)="00000000000000000000040000000000000000010000000000000000d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x4509b60}, {&(0x7f000001c700)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x4509c00}, {&(0x7f000001c800)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4509c80}, {&(0x7f000001c900)="000000000000000000000000000000000000050000000000000000000000000000000080d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x4509d20}, {&(0x7f000001ca00)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4509e40}, {&(0x7f000001cb00)="000000000000000000050000000000000000000000000000000070d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x4509ee0}, {&(0x7f000001cc00)="6985e3fce7473a2000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100a0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000c00000000200000000fd0e0000180000000020d00100000000a90000000000000000dc0e0000210000000030d00100000000a90000000000000000bb0e0000210000000050d00100000000a900000000000000009a0e0000210000000060d00100000000a90000000000000000790e00002100000000a0d00100000000a90000000000000000580e00002100000000b0d00100000000a90100000000000000370e00002100000000c0d00100000000a90000000000000000160e00002100000000d0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x450a000}, {&(0x7f000001ce00)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000009000000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000bc6da46c6eab74d000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100b0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a06000000000000000500000000000000020000000100010000000000000100000000000000000020d001000000000600000000000000020100000000000001000000000000000000c0d0010000000006", 0x280, 0x450ae20}, {&(0x7f000001d100)="8bfe0fbb4e9d559800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100c0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000011000000000201000000000000010000000000000000fb0e0000a000000002010000000000000c0101000000000000ec0e00000f00000002010000000000006c0000000000000000bd0a00002f04000003010000000000000100000000000000001d0a0000a000000003010000000000000c01010000000000000e0a00000f00000003010000000000006c0000000000000000d30900003b000000040100000000000001000000000000000033090000a000000004010000000000000c0001000000000000240900000f00000004010000000000001822a8f12600000000f50800002f000000040100000000000018d65ba13500000000c60800002f00000004010000000000006c0000000000000000a70800001f000000050100000000000001000000000000000007080000a000000005010000000000000c0001000000000000e90700001e00000005010000000000006c0000000000000000b407000035000000060100000000000001000000000000000014070000a000000006010000000000000c0001000000000000010700001300000006010000000000006c0000000000000000880600007900"/544, 0x220, 0x450c000}, {&(0x7f000001d400)="0000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3035303436393336392f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea8605a5ae72607248d87700000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100d0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0xa80, 0x450c6e0}, {&(0x7f000001df00)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x450d560}, {&(0x7f000001e000)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x450d720}, {&(0x7f000001e100)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x450d840}, {&(0x7f000001e200)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x450d8e0}, {&(0x7f000001e300)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x450d9e0}, {&(0x7f000001e500)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x450db60}, {&(0x7f000001e600)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x450dc80}, {&(0x7f000001e700)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x450dd20}, {&(0x7f000001e800)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x450de40}, {&(0x7f000001e900)="0000000000000000000600000000000000000000000000000000a0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x450dee0}, {&(0x7f000001ea00)="29ceb8de4c63b19000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100e0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000040000000000000006000000000000000000000000f90100000000000000730f0000280000000100000000000000cc0000d00000000000430f0000300000000100000000000000cc0000500100000000130f0000300000000100000000000000cc0000d00100000000e30e0000300000000100000000000000cc0000500200000000b30e0000300000000100000000000000cc0000500400000000830e0000300000000000000000", 0x100, 0x450e000}, {&(0x7f000001eb00)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0000000000000000", 0x100, 0x450eee0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="005ecf9a0616b39be7ef5d8a3ba09749526ee8165a1b4be7106f3e30b77039bca68336e5a3b30d12d50cfc762fc2894c8233febaa79166e92b01fa6f601b19851b321d7448bb112a9735c2c85488870db09873a2b1e2b10534fa40838b12eb44842c0baf0dc524f042a6ba908299924b65187c34f07b72cb605e071f93beefe0e08c742bf5af1b89ce233cbe5c75b06d49d2b82102a48eb9ae592571dc1385951d4c79e13c4092ffcc698c1e1dead89366880abf"]) [ 505.462657][T14346] loop3: detected capacity change from 0 to 128 [ 505.535879][T14346] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 505.570709][T14346] Mount JFS Failure: -5 [ 505.587727][T14346] jfs_mount failed w/return code = -5 12:44:57 executing program 0: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000000, 0x8e, &(0x7f0000000200)=[{&(0x7f0000010000)="1e3b823093709a3900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d81000001000000000001000000000000005f42485266535f4d07000000000000000000d00100000000001050010000000000000000000000000000000000000000000000080000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000081000000050000000000000000000000000000000000000000000000450100000000000001000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d8100"/320, 0x140, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae316000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600"/256, 0x100, 0x10320}, {&(0x7f0000010400)="00000000000000000000000090d001000000000500000000000000001050010000000005000000000000000070d0010000000005000000000000000000d0010000000004000000000000000080d0010000000005000000000000000040d00100000000040000000000000000000008000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0d0010000000006000000000000000010500100000000050000000000000000a0d00100000000060000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000d001000000000700000000000000001050010000000005000000000000000010d00100000000070000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000010d001000000000400000000000000000050010000000004000000000000000020d0010000000004000000000000000000d0010000000004000000000000000030d0010000000004000000000000000040d001000000000400000000000000000000080000000000800000000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="c927c55f7b0c96a800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100001000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004001000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81dcc00a7fed512bb300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100101000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a010000000000000002000000000000000c000000000000100000000000a90000000000000000830f0000180000000000100000000000b00100000000000000830f0000000000000010100000000000a900000000000000006b0f0000180000000010100000000000b002000000000000006b0f0000000000000020100000000000a90000000000000000530f0000180000000020100000000000b00300000000000000530f0000000000000030100000000000a900000000000000003b0f0000180000000030100000000000b004000000000000003b0f0000000000000040100000000000a90000000000000000230f0000180000000040100000000000b00500000000000000230f0000000000000050100000000000a900000000000000000b0f0000180000000050100000000000b007000000000000000b0f00"/768, 0x300, 0x100ea0}, {&(0x7f0000010b00)="000000000000000000000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000100000000000000010000000000000002000000000000000750a4df13b2d32f00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100201000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a0100000000000000030000000000000002000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e00005000"/320, 0x140, 0x101f60}, {&(0x7f0000010d00)="0000000000000000000000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d815e4a4e22a61cc93300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100301000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a0100000000000000040000000000000001000000000100000000000000cc00001000000000006b0f0000300000000000", 0x140, 0x102f40}, {&(0x7f0000010f00)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8af54f44da779d899a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100401000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a01000000000000000500000000000000", 0xa0, 0x103fc0}, {&(0x7f0000011000)="22a074eedaab243e00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100501000000000000000000000000001f4a3ffdfabac475f8e33b0f6891acc8a01000000000000000700000000000000", 0x60, 0x105000}, {&(0x7f0000011100)="95ac3712c7e7ec2e00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100601000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a020000000000000002000000000000000a000000000000100000000000c00000400000000000830f0000180000000040100000000000a900000000000000006b0f0000180000000040100000000000b005000000000000006b0f0000000000000050100000000000a90000000000000000530f0000180000000050100000000000b00700000000000000530f0000000000000060100000000000a90000000000000000320f0000210000000070100000000000a90000000000000000110f0000210000000080100000000000a90000000000000000f00e0000210000000000500000000000a90000000000000000cf0e0000210000000000500000000000c00000800000000000b70e0000180000000000500000000000c00000800000000000d80e0000180000000000500000000000c000008000000000000b0f0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000800000000000f30e000018", 0x1c0, 0x106000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000001000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000005000000000000000010000000000000200000000000000c3bf71582d352c5900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100701000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000040000000000000002000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f00003000"/416, 0x1a0, 0x106f00}, {&(0x7f0000011500)="0300000000000000000100000000000000005000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8a3de297851322b14d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100801000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000030000000000000003000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e00005000"/288, 0x120, 0x107fa0}, {&(0x7f0000011700)="80000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000000008000000000000c000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x100, 0x108f00}, {&(0x7f0000011800)="2ef275741d6ba76c00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0200000000000000010000000000000004000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b70100000500000000000000840000000000000000760a0000b70100000700000000000000840000000000000000bf080000b70100"/224, 0xe0, 0x500000}, {&(0x7f0000011900)="0000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000", 0x40, 0x500920}, {&(0x7f0000011a00)="00000000010000000000000000000000000000000050100000000000000000000000000000100000000000000000000000000000000000000000000001000000", 0x40, 0x5009c0}, {&(0x7f0000011b00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x500ac0}, {&(0x7f0000011c00)="000000000000000000000000000000000000000000000000000000010000000000000000000000000000000040100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/160, 0xa0, 0x500b60}, {&(0x7f0000011d00)="000056bc645f000000000000000056bc645f00"/32, 0x20, 0x500c20}, {&(0x7f0000011e00)="00000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x500c80}, {&(0x7f0000011f00)="000000000000000000000000000000000000020000000000000000000000000000000070100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200"/128, 0x80, 0x500d20}, {&(0x7f0000012000)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x500e40}, {&(0x7f0000012100)="000000000000000000020000000000000000000000000000000060100000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200000000000000", 0x60, 0x500ee0}, {&(0x7f0000012200)="f02ffff79e9bb19b00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000040000000000000003000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f0000300000000100000000000000cc0000d000000000000b0f00003000"/192, 0xc0, 0x501000}, {&(0x7f0000012300)="00000000000000000000000000000000030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000001000000000000000400000000000f4a3ffdfabac475f8e33b0f6891acc8a53b946b86f22526900000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100205000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a030000000000000002000000000000000a000000000000100000000000a900000000000000007a0f0000210000000000100000000000c00000400000000000620f0000180000000050100000000000a900000000000000004a0f0000180000000050100000000000b007000000000000004a0f0000000000000000500000000000c00000800000000000320f0000180000000010500000000000a90000000000000000110f0000210000000020500000000000a90000000000000000f00e0000210000000030500000000000a90000000000000000cf0e0000210000000040500000000000a90000000000000000ae0e0000210000000000d00000000000c00000800000000000960e0000180000000000500000000000c00000800000000000ae0e0000180000000000d00000000000c00000800000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000800000000000f30e000018", 0x260, 0x501f60}, {&(0x7f0000012600)="000000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000004000000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000002000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000a33ab8dbdd2b9f1c00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100305000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000010000000000000008000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b70100"/608, 0x260, 0x502ee0}, {&(0x7f0000012900)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x503840}, {&(0x7f0000012a00)="00000100000000000000000000000000000000501000000000000000000000000000001000000000000000000000000000000000000000000000010000000000", 0x40, 0x5038e0}, {&(0x7f0000012b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5039e0}, {&(0x7f0000012d00)="00000000000000000000030000000000000000010000000000000040500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x503b60}, {&(0x7f0000012e00)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x503c00}, {&(0x7f0000012f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x19, 0x503c80}, {&(0x7f0000013000)="000000000000000000000000000000000000030000000000000000000000000000000010500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x503d20}, {&(0x7f0000013100)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x503e40}, {&(0x7f0000013200)="000000000000000000030000000000000000000000000000000020500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x503ee0}, {&(0x7f0000013300)="06feba100dc654bf00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100405000000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x504000}, {&(0x7f0000013400)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f0000000000000000", 0xc0, 0x504f40}, {&(0x7f0000013500)="13b55bb6b810fbcd00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000030000000000000006000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e0000500000000001000000000000e40000500100000000d90d0000700000000001000000000000e40000d00100000000690d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000013600)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81d6acfd72eafd626a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000d00000000000e90e0000500000000001000000000000e40000500100000000790e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000b90d0000700000000000000000", 0x340, 0x1500dc0}, {&(0x7f0000013a00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x240, 0x1501dc0}, {&(0x7f0000013d00)="13b55bb6b810fbcd00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100005001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000030000000000000006000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000d00000000000490e0000500000000001000000000000e40000500100000000d90d0000700000000001000000000000e40000d00100000000690d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f0000013e00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000007a2886669ddc4cfdb08b0d3631aae316000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81d6acfd72eafd626a00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100105001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000d00000000000e90e0000500000000001000000000000e40000500100000000790e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000090e0000700000000001000000000000e40000d00100000000b90d0000700000000000000000", 0x340, 0x1d00dc0}, {&(0x7f0000014200)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000007a2886669ddc4cfdb08b0d3631aae316010000000000000000005004000000007a2886669ddc4cfdb08b0d3631aae316000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000007a2886669ddc4cfdb08b0d3631aae3160100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d81", 0x240, 0x1d01dc0}, {&(0x7f0000014500)="83a13760d306fa7400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810000d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x160, 0x2500000}, {&(0x7f0000014700)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2500560}, {&(0x7f0000014800)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2500720}, {&(0x7f0000014900)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2500840}, {&(0x7f0000014a00)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x25008e0}, {&(0x7f0000014b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x25009e0}, {&(0x7f0000014d00)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x2500b60}, {&(0x7f0000014e00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2500c80}, {&(0x7f0000014f00)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x2500d20}, {&(0x7f0000015000)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2500e40}, {&(0x7f0000015100)="000000000000000000070000000000000000000000000000000010d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2500ee0}, {&(0x7f0000015200)="375b5cf38233454d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810010d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000a90000000000000000f40e0000210000000000d00100000000c00000000200000000dc0e0000180000000010d00100000000a90000000000000000bb0e0000210000000020d00100000000a900000000000000009a0e0000210000000030d00100000000a90000000000000000790e0000210000000050d00100000000a90000000000000000580e0000210000000060d00100000000a90000000000000000370e00002100000000b0d00100000000a90100000000000000160e00002100000000c0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x2501000}, {&(0x7f0000015400)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b00200000000000000009000000000000000010000000000002400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000042f346881baae2a500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810020d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000012000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e0000230000000001000000000000600200000000000000190e0000230000000001000000000000600300000000000000f60d0000230000000001000000000000600400000000000000d30d0000230000000001000000000000600500000000000000b00d0000230000000001000000000000600600000000000000890d0000270000000101000000000000010000000000000000e90c0000a000000001010000000000000c0001000000000000da0c00000f0000000101000000000000544bae790400000000b70c000023000000010100000000000054482d12f600000000940c0000230000000101000000000000600200000000000000710c00002300000001010000000000006003000000000000004e0c00002300"/1056, 0x420, 0x2501e20}, {&(0x7f0000015900)="0000000000000000000000000000000000000003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860556bc645f0000000000000000ee8f43a922a3075500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810030d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000007000000000000000100000000f6ffffffffffffff800000d00000000000830f0000180000000000", 0x3e0, 0x2502ca0}, {&(0x7f0000015d00)="0000000000000000dbbbd8326f9b86acdbbbd8326f9b86acdbbbd8326f9b86acf869dc16da8c382300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810040d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a04000000000000000700000000000000", 0x80, 0x2503fe0}, {&(0x7f0000015e00)="212e70347c67ba1600000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810050d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x2505000}, {&(0x7f0000015f00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f00000000000000000000000000000000000000009621698429c3449400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810060d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a040000000000000009000000000000000100000000cf9f1a2a1b9845b8fb9a6198a10e07b8bb930f0000080000000000", 0x140, 0x2505f40}, {&(0x7f0000016100)="0000000000000000000000000000000000000000000000000500000000000000f78d7e2e6b8ae6ba00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810070d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000002000000000000000b000000000000d00000000000c00000800000000000830f0000180000000000500100000000c000008000000000006b0f0000180000000010500100000000a900000000000000004a0f0000210000000000d00100000000a90000000000000000290f0000210000000000d00100000000c00000000200000000110f0000180000000040d00100000000a90000000000000000f00e0000210000000050d00100000000a90000000000000000cf0e0000210000000060d00100000000a90000000000000000ae0e0000210000000070d00100000000a900000000000000008d0e0000210000000080d00100000000a900000000000000006c0e0000210000000090d00100000000a900000000000000004b0e0000210000000060d00100000000a900000000000000004b0e0000210000000060d00100000000a90000000000000000330e0000210000000000500000000000c00000800000000000f30e000018", 0x1e0, 0x2506fe0}, {&(0x7f0000016300)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000007000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000fb88c6470f9a20e800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810080d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b0f0000300000000100000000000000cc00005001000000003b0f0000300000000100000000000000cc0000d001000000000b0f0000300000000100000000000000cc0000500200000000db0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc00005004000000007b0e00003000"/672, 0x2a0, 0x2507e80}, {&(0x7f0000016600)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a8956e0beeb8c26ff00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810090d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x2c0, 0x2508ea0}, {&(0x7f0000016900)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2509560}, {&(0x7f0000016a00)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2509720}, {&(0x7f0000016b00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2509840}, {&(0x7f0000016c00)="0000040000000000000000000000000000000040d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x25098e0}, {&(0x7f0000016d00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x25099e0}, {&(0x7f0000016f00)="00000000000000000000040000000000000000010000000000000000d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x2509b60}, {&(0x7f0000017000)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x2509c00}, {&(0x7f0000017100)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2509c80}, {&(0x7f0000017200)="000000000000000000000000000000000000050000000000000000000000000000000080d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x2509d20}, {&(0x7f0000017300)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2509e40}, {&(0x7f0000017400)="000000000000000000050000000000000000000000000000000070d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x2509ee0}, {&(0x7f0000017500)="6985e3fce7473a2000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100a0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000c00000000200000000fd0e0000180000000020d00100000000a90000000000000000dc0e0000210000000030d00100000000a90000000000000000bb0e0000210000000050d00100000000a900000000000000009a0e0000210000000060d00100000000a90000000000000000790e00002100000000a0d00100000000a90000000000000000580e00002100000000b0d00100000000a90100000000000000370e00002100000000c0d00100000000a90000000000000000160e00002100000000d0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x250a000}, {&(0x7f0000017700)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000009000000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000bc6da46c6eab74d000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100b0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a06000000000000000500000000000000020000000100010000000000000100000000000000000020d001000000000600000000000000020100000000000001000000000000000000c0d0010000000006", 0x280, 0x250ae20}, {&(0x7f0000017a00)="8bfe0fbb4e9d559800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100c0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000011000000000201000000000000010000000000000000fb0e0000a000000002010000000000000c0101000000000000ec0e00000f00000002010000000000006c0000000000000000bd0a00002f04000003010000000000000100000000000000001d0a0000a000000003010000000000000c01010000000000000e0a00000f00000003010000000000006c0000000000000000d30900003b000000040100000000000001000000000000000033090000a000000004010000000000000c0001000000000000240900000f00000004010000000000001822a8f12600000000f50800002f000000040100000000000018d65ba13500000000c60800002f00000004010000000000006c0000000000000000a70800001f000000050100000000000001000000000000000007080000a000000005010000000000000c0001000000000000e90700001e00000005010000000000006c0000000000000000b407000035000000060100000000000001000000000000000014070000a000000006010000000000000c0001000000000000010700001300000006010000000000006c0000000000000000880600007900"/544, 0x220, 0x250c000}, {&(0x7f0000017d00)="0000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3035303436393336392f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea8605a5ae72607248d87700000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100d0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a0000000000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b70100"/2688, 0xa80, 0x250c6e0}, {&(0x7f0000018800)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x250d560}, {&(0x7f0000018900)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x250d720}, {&(0x7f0000018a00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x250d840}, {&(0x7f0000018b00)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x250d8e0}, {&(0x7f0000018c00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x250d9e0}, {&(0x7f0000018e00)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x250db60}, {&(0x7f0000018f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x250dc80}, {&(0x7f0000019000)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x250dd20}, {&(0x7f0000019100)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x250de40}, {&(0x7f0000019200)="0000000000000000000600000000000000000000000000000000a0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x250dee0}, {&(0x7f0000019300)="29ceb8de4c63b19000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100e0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000040000000000000006000000000000000000000000f90100000000000000730f0000280000000100000000000000cc0000d00000000000430f0000300000000100000000000000cc0000500100000000130f0000300000000100000000000000cc0000d00100000000e30e0000300000000100000000000000cc0000500200000000b30e0000300000000100000000000000cc0000500400000000830e0000300000000000000000", 0x100, 0x250e000}, {&(0x7f0000019400)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0000000000000000", 0x100, 0x250eee0}, {&(0x7f0000019500)="f78b7917a1884c5000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d81000000040000000001000000000000005f42485266535f4d07000000000000000000d00100000000001050010000000000000000000000000000000000000000000000080000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000081000000050000000000000000000000000000000000000000000000450100000000000001000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000007a2886669ddc4cfdb08b0d3631aae31601eedacb5ef5438f9aa20181c07f6d8100"/320, 0x140, 0x4000000}, {&(0x7f0000019700)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x4000220}, {&(0x7f0000019800)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae316000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000007a2886669ddc4cfdb08b0d3631aae31601000000000000000000d001000000007a2886669ddc4cfdb08b0d3631aae31600"/256, 0x100, 0x4000320}, {&(0x7f0000019900)="00000000000000000000000090d001000000000500000000000000001050010000000005000000000000000070d0010000000005000000000000000000d0010000000004000000000000000080d0010000000005000000000000000040d00100000000040000000000000000000008000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0d0010000000006000000000000000010500100000000050000000000000000a0d00100000000060000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000d001000000000700000000000000001050010000000005000000000000000010d00100000000070000000000000000b0d00100000000060000000000000000e0d0010000000006000000000000000030d001000000000600000000000000000000080000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000010d001000000000400000000000000000050010000000004000000000000000020d0010000000004000000000000000000d0010000000004000000000000000030d0010000000004000000000000000040d001000000000400000000000000000000080000000000800000000000000100"/640, 0x280, 0x4000b20}, {&(0x7f0000019c00)="83a13760d306fa7400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810000d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x160, 0x4500000}, {&(0x7f0000019e00)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4500560}, {&(0x7f0000019f00)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4500720}, {&(0x7f000001a000)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4500840}, {&(0x7f000001a100)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x45008e0}, {&(0x7f000001a200)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x45009e0}, {&(0x7f000001a400)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x4500b60}, {&(0x7f000001a500)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4500c80}, {&(0x7f000001a600)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x4500d20}, {&(0x7f000001a700)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4500e40}, {&(0x7f000001a800)="000000000000000000070000000000000000000000000000000010d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4500ee0}, {&(0x7f000001a900)="375b5cf38233454d00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810010d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a070000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000a90000000000000000f40e0000210000000000d00100000000c00000000200000000dc0e0000180000000010d00100000000a90000000000000000bb0e0000210000000020d00100000000a900000000000000009a0e0000210000000030d00100000000a90000000000000000790e0000210000000050d00100000000a90000000000000000580e0000210000000060d00100000000a90000000000000000370e00002100000000b0d00100000000a90100000000000000160e00002100000000c0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x4501000}, {&(0x7f000001ab00)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b00200000000000000009000000000000000010000000000002400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000042f346881baae2a500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810020d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000012000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e0000230000000001000000000000600200000000000000190e0000230000000001000000000000600300000000000000f60d0000230000000001000000000000600400000000000000d30d0000230000000001000000000000600500000000000000b00d0000230000000001000000000000600600000000000000890d0000270000000101000000000000010000000000000000e90c0000a000000001010000000000000c0001000000000000da0c00000f0000000101000000000000544bae790400000000b70c000023000000010100000000000054482d12f600000000940c0000230000000101000000000000600200000000000000710c00002300000001010000000000006003000000000000004e0c00002300"/1056, 0x420, 0x4501e20}, {&(0x7f000001b000)="0000000000000000000000000000000000000003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860556bc645f0000000000000000ee8f43a922a3075500000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810030d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000007000000000000000100000000f6ffffffffffffff800000d00000000000830f0000180000000000", 0x3e0, 0x4502ca0}, {&(0x7f000001b400)="0000000000000000dbbbd8326f9b86acdbbbd8326f9b86acdbbbd8326f9b86acf869dc16da8c382300000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810040d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a04000000000000000700000000000000", 0x80, 0x4503fe0}, {&(0x7f000001b500)="212e70347c67ba1600000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810050d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x4505000}, {&(0x7f000001b600)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f00000000000000000000000000000000000000009621698429c3449400000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810060d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a040000000000000009000000000000000100000000cf9f1a2a1b9845b8fb9a6198a10e07b8bb930f0000080000000000", 0x140, 0x4505f40}, {&(0x7f0000000f80)="0000000000000000000000000000000000000000000000000500000000000000f78d7e2e6b8ae6ba00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810070d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000002000000000000000b000000000000d00000000000c00000800000000000830f0000180000000000500100000000c000008000000000006b0f0000180000000010500100000000a900000000000000004a0f0000210000000000d00100000000a90000000000000000290f0000210000000000d00100000000c00000000200000000110f0000180000000040d00100000000a90000000000000000f00e0000210000000050d00100000000a90000000000000000cf0e0000210000000060d00100000000a90000000000000000ae0e0000210000000070d00100000000a900000000000000008d0e0000210000000080d00100000000a900000000000000006c0e0000210000000090d00100000000a900000000000000004b0e0000210000000060d00100000000a900000000000000004b0e0000210000000060d00100000000a90000000000000000330e0000210000000000500000000000c00000800000000000f30e000018", 0x1e0, 0x4506fe0}, {&(0x7f000001ba00)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000007000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000fb88c6470f9a20e800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810080d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b0f0000300000000100000000000000cc00005001000000003b0f0000300000000100000000000000cc0000d001000000000b0f0000300000000100000000000000cc0000500200000000db0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc0000500400000000ab0e0000300000000100000000000000cc00005004000000007b0e00003000"/672, 0x2a0, 0x4507e80}, {&(0x7f000001bd00)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a8956e0beeb8c26ff00000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d810090d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x2c0, 0x4508ea0}, {&(0x7f000001c000)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4509560}, {&(0x7f000001c100)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4509720}, {&(0x7f000001c200)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4509840}, {&(0x7f000001c300)="0000040000000000000000000000000000000040d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x45098e0}, {&(0x7f000001c400)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x45099e0}, {&(0x7f000001c600)="00000000000000000000040000000000000000010000000000000000d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000cf9f1a2a1b9845b89a6198a10e07b8bb00"/128, 0x80, 0x4509b60}, {&(0x7f000001c700)="000000000000000000000000000000000056bc645f000000000000000056bc645f00"/64, 0x40, 0x4509c00}, {&(0x7f000001c800)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4509c80}, {&(0x7f000001c900)="000000000000000000000000000000000000050000000000000000000000000000000080d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x4509d20}, {&(0x7f000001ca00)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4509e40}, {&(0x7f000001cb00)="000000000000000000050000000000000000000000000000000070d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x4509ee0}, {&(0x7f000001cc00)="6985e3fce7473a2000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100a0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000002000000000000000e000000000000d00000000000a80030000000000000660f0000350000000000d00000000000c000008000000000004e0f0000180000000000500100000000c00000800000000000360f0000180000000010500100000000a90000000000000000150f0000210000000000d00100000000c00000000200000000fd0e0000180000000020d00100000000a90000000000000000dc0e0000210000000030d00100000000a90000000000000000bb0e0000210000000050d00100000000a900000000000000009a0e0000210000000060d00100000000a90000000000000000790e00002100000000a0d00100000000a90000000000000000580e00002100000000b0d00100000000a90100000000000000370e00002100000000c0d00100000000a90000000000000000160e00002100000000d0d00100000000a90000000000000000f50d00002100000000e0d00100000000a90000000000000000d40d000021", 0x1c0, 0x450a000}, {&(0x7f000001ce00)="00000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00500000000000000009000000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000001000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000bc6da46c6eab74d000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100b0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a06000000000000000500000000000000020000000100010000000000000100000000000000000020d001000000000600000000000000020100000000000001000000000000000000c0d0010000000006", 0x280, 0x450ae20}, {&(0x7f000001d100)="8bfe0fbb4e9d559800000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100c0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000050000000000000011000000000201000000000000010000000000000000fb0e0000a000000002010000000000000c0101000000000000ec0e00000f00000002010000000000006c0000000000000000bd0a00002f04000003010000000000000100000000000000001d0a0000a000000003010000000000000c01010000000000000e0a00000f00000003010000000000006c0000000000000000d30900003b000000040100000000000001000000000000000033090000a000000004010000000000000c0001000000000000240900000f00000004010000000000001822a8f12600000000f50800002f000000040100000000000018d65ba13500000000c60800002f00000004010000000000006c0000000000000000a70800001f000000050100000000000001000000000000000007080000a000000005010000000000000c0001000000000000e90700001e00000005010000000000006c0000000000000000b407000035000000060100000000000001000000000000000014070000a000000006010000000000000c0001000000000000010700001300000006010000000000006c0000000000000000880600007900"/544, 0x220, 0x450c000}, {&(0x7f000001d400)="0000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea86050600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3035303436393336392f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860506000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea860557bc645f00000000d3ea8605a5ae72607248d87700000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100d0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a060000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0xa80, 0x450c6e0}, {&(0x7f000001df00)="0000000000000000000000000000000000000000040000000000000000010000000000000050d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x450d560}, {&(0x7f000001e000)="0000000000000000000000040000000000000000000000000000000060d0010000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x450d720}, {&(0x7f000001e100)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x450d840}, {&(0x7f000001e200)="0000060000000000000000000000000000000030d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x450d8e0}, {&(0x7f000001e300)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000056bc645f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x450d9e0}, {&(0x7f000001e500)="000000000000000000000600000000000000000100000000000000b0d00100000000000000000000000000300000000000000000000000000000000000000000000001000000000000000000000000000000000000000000010600000000000000cf9f1a2a1b9845b89a6198a10e07b8bb0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f000000001ae9c70556bc645f00"/224, 0xe0, 0x450db60}, {&(0x7f000001e600)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x450dc80}, {&(0x7f000001e700)="0000000000000000000000000000000000000600000000000000000000000000000000e0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x450dd20}, {&(0x7f000001e800)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x450de40}, {&(0x7f000001e900)="0000000000000000000600000000000000000000000000000000a0d00100000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x450dee0}, {&(0x7f000001ea00)="29ceb8de4c63b19000000000000000000000000000000000000000000000000001eedacb5ef5438f9aa20181c07f6d8100e0d001000000000100000000000001f4a3ffdfabac475f8e33b0f6891acc8a0600000000000000040000000000000006000000000000000000000000f90100000000000000730f0000280000000100000000000000cc0000d00000000000430f0000300000000100000000000000cc0000500100000000130f0000300000000100000000000000cc0000d00100000000e30e0000300000000100000000000000cc0000500200000000b30e0000300000000100000000000000cc0000500400000000830e0000300000000000000000", 0x100, 0x450e000}, {&(0x7f000001eb00)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d001000000000000000200000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0300000000000000000100000000000000005001000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a030000000000000000010000000000000000d000000000000000800000000000f4a3ffdfabac475f8e33b0f6891acc8a0000000000000000", 0x100, 0x450eee0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="005ecf9a0616b39be7ef5d8a3ba09749526ee8165a1b4be7106f3e30b77039bca68336e5a3b30d12d50cfc762fc2894c8233febaa79166e92b01fa6f601b19851b321d7448bb112a9735c2c85488870db09873a2b1e2b10534fa40838b12eb44842c0baf0dc524f042a6ba908299924b65187c34f07b72cb605e071f93beefe0e08c742bf5af1b89ce233cbe5c75b06d49d2b82102a48eb9ae592571dc1385951d4c79e13c4092ffcc698c1e1dead89366880abf"]) 12:44:57 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xfffffffe) 12:44:57 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), 0xffffffffffffffff) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r4, 0x8933, &(0x7f0000001280)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_GET_KEY(r3, &(0x7f0000000900)={0x0, 0x0, &(0x7f00000008c0)={&(0x7f0000000580)={0x28, r2, 0xa1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r5}, @void}}, [@NL80211_ATTR_MAC={0xa}]}, 0x28}}, 0x0) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000380)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_GET_STATION(r0, &(0x7f0000000480)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f0000000440)={&(0x7f0000000400)={0x40, r2, 0x200, 0x70bd2d, 0x25dfdbfe, {{}, {@val={0x8, 0x3, r6}, @val={0xc, 0x99, {0x0, 0x21}}}}, [@NL80211_ATTR_STA_AID={0x6, 0x10, 0x2a3}, @NL80211_ATTR_STA_VLAN={0x8}, @NL80211_ATTR_STA_PLINK_ACTION={0x5}]}, 0x40}, 0x1, 0x0, 0x0, 0x4044810}, 0x4000) r7 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_LINKMODES_SET(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000007c0)={0x44, r7, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_LINKMODES_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syz_tun\x00'}]}, @ETHTOOL_A_LINKMODES_OURS={0x18, 0x3, 0x0, 0x1, [@ETHTOOL_A_BITSET_BITS={0x14, 0x3, 0x0, 0x1, [{0x10, 0x1, 0x0, 0x1, [@ETHTOOL_A_BITSET_BIT_VALUE={0x4}, @ETHTOOL_A_BITSET_BIT_INDEX={0x8}]}]}]}]}, 0x44}}, 0x0) sendmsg$ETHTOOL_MSG_LINKMODES_SET(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000003c0)={0x40, r7, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_LINKMODES_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syz_tun\x00'}]}, @ETHTOOL_A_LINKMODES_OURS={0x14, 0x3, 0x0, 0x1, [@ETHTOOL_A_BITSET_VALUE={0x4}, @ETHTOOL_A_BITSET_SIZE={0x8}, @ETHTOOL_A_BITSET_NOMASK={0x4}]}]}, 0x40}}, 0x0) getsockopt$PNPIPE_IFINDEX(0xffffffffffffffff, 0x113, 0x2, &(0x7f00000001c0)=0x0, &(0x7f0000000200)=0x4) sendmsg$ETHTOOL_MSG_TSINFO_GET(r0, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)={0x6c, r7, 0x10, 0x70bd2b, 0x25dfdbfe, {}, [@HEADER={0x20, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvlan0\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r8}]}, @HEADER={0x38, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvlan0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}]}]}, 0x6c}, 0x1, 0x0, 0x0, 0x8000}, 0x4000800) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r10 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000940)=ANY=[@ANYBLOB="3c00000066d42ea9c9ed2d2874324b3c0d1fabf31352b95a5a93b0ccec248d1c3797ee8243246117d88b64715402000fc07f41524cac9d4d1575452eb3103bafed54b76c2e497a32def8d90a8e9c1c7c6493478e7fe7ca54934a8d023bcba91a4bf6e130af42a552bbfcea05c616f2c159af047ce3036a4f31d83a9f39e313747871432ae4d16955060bae7703f07a3c45065e9a5ffb55bc4b55741777d053c25ed8657652b2346a5afdb455a923e66da43138c15dc1d00502bc465acdfb5fb08e0835b90c95ece3daff9fe1b0ddaa6e43a946", @ANYRES16=r10, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r9, @ANYBLOB="1e003300a0000000ffffffffffff080211010001505050505050000000000000e4987db64d9215b8811fc72c2cf533192b2ebc250080"], 0x3c}}, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELPRL(0xffffffffffffffff, 0x89f6, &(0x7f0000000280)={'ip6_vti0\x00', &(0x7f0000000100)={'ip6tnl0\x00', 0x0, 0x0, 0x1, 0x3f, 0x1, 0x66, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', @mcast1, 0x7800, 0x20, 0x4, 0x80000000}}) bpf$PROG_LOAD(0x5, &(0x7f0000000340)={0xb, 0x8, &(0x7f0000000040)=ANY=[@ANYBLOB="85200000020000001850000003000000000000000000000018510000100000000000000000000000185200000f00000000000000000000008510000007000000"], &(0x7f00000000c0)='syzkaller\x00', 0x1000, 0x0, 0x0, 0x41000, 0x8, '\x00', r11, 0xc, 0xffffffffffffffff, 0x8, &(0x7f00000002c0)={0x9, 0x1}, 0x8, 0x10, &(0x7f0000000300)={0x3, 0x3, 0x91, 0xca}, 0x10}, 0x80) bpf$PROG_LOAD(0x5, &(0x7f00000006c0)={0x10, 0x3, &(0x7f00000004c0)=@raw=[@jmp={0x5, 0x0, 0xb, 0x1, 0x6, 0xffffffffffffffe0, 0xfffffffffffffffc}, @map_idx_val={0x18, 0xc, 0x6, 0x0, 0x5, 0x0, 0x0, 0x0, 0x6}], &(0x7f0000000500)='syzkaller\x00', 0x2, 0x88, &(0x7f00000005c0)=""/136, 0x1e00, 0x16, '\x00', 0x0, 0x10, 0xffffffffffffffff, 0x8, &(0x7f0000000540)={0x5, 0x4}, 0x8, 0x10, &(0x7f0000000680)={0x0, 0x7, 0x81, 0x3}, 0x10}, 0x80) 12:44:57 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4c, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:57 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x1000000000000) 12:44:57 executing program 0: r0 = syz_mount_image$erofs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x0, &(0x7f0000000200), 0x800, &(0x7f0000000080)={[{@noacl}]}) mkdirat(r0, &(0x7f0000000040)='./file0/file0\x00', 0x0) 12:44:57 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) (async) r1 = socket$nl_generic(0x10, 0x3, 0x10) (async) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), 0xffffffffffffffff) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r4, 0x8933, &(0x7f0000001280)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_GET_KEY(r3, &(0x7f0000000900)={0x0, 0x0, &(0x7f00000008c0)={&(0x7f0000000580)={0x28, r2, 0xa1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r5}, @void}}, [@NL80211_ATTR_MAC={0xa}]}, 0x28}}, 0x0) (async) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000380)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_GET_STATION(r0, &(0x7f0000000480)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f0000000440)={&(0x7f0000000400)={0x40, r2, 0x200, 0x70bd2d, 0x25dfdbfe, {{}, {@val={0x8, 0x3, r6}, @val={0xc, 0x99, {0x0, 0x21}}}}, [@NL80211_ATTR_STA_AID={0x6, 0x10, 0x2a3}, @NL80211_ATTR_STA_VLAN={0x8}, @NL80211_ATTR_STA_PLINK_ACTION={0x5}]}, 0x40}, 0x1, 0x0, 0x0, 0x4044810}, 0x4000) (async) r7 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_LINKMODES_SET(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000007c0)={0x44, r7, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_LINKMODES_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syz_tun\x00'}]}, @ETHTOOL_A_LINKMODES_OURS={0x18, 0x3, 0x0, 0x1, [@ETHTOOL_A_BITSET_BITS={0x14, 0x3, 0x0, 0x1, [{0x10, 0x1, 0x0, 0x1, [@ETHTOOL_A_BITSET_BIT_VALUE={0x4}, @ETHTOOL_A_BITSET_BIT_INDEX={0x8}]}]}]}]}, 0x44}}, 0x0) (async) sendmsg$ETHTOOL_MSG_LINKMODES_SET(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000003c0)={0x40, r7, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_LINKMODES_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syz_tun\x00'}]}, @ETHTOOL_A_LINKMODES_OURS={0x14, 0x3, 0x0, 0x1, [@ETHTOOL_A_BITSET_VALUE={0x4}, @ETHTOOL_A_BITSET_SIZE={0x8}, @ETHTOOL_A_BITSET_NOMASK={0x4}]}]}, 0x40}}, 0x0) (async) getsockopt$PNPIPE_IFINDEX(0xffffffffffffffff, 0x113, 0x2, &(0x7f00000001c0)=0x0, &(0x7f0000000200)=0x4) sendmsg$ETHTOOL_MSG_TSINFO_GET(r0, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)={0x6c, r7, 0x10, 0x70bd2b, 0x25dfdbfe, {}, [@HEADER={0x20, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvlan0\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r8}]}, @HEADER={0x38, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvlan0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}]}]}, 0x6c}, 0x1, 0x0, 0x0, 0x8000}, 0x4000800) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async) r10 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000940)=ANY=[@ANYBLOB="3c00000066d42ea9c9ed2d2874324b3c0d1fabf31352b95a5a93b0ccec248d1c3797ee8243246117d88b64715402000fc07f41524cac9d4d1575452eb3103bafed54b76c2e497a32def8d90a8e9c1c7c6493478e7fe7ca54934a8d023bcba91a4bf6e130af42a552bbfcea05c616f2c159af047ce3036a4f31d83a9f39e313747871432ae4d16955060bae7703f07a3c45065e9a5ffb55bc4b55741777d053c25ed8657652b2346a5afdb455a923e66da43138c15dc1d00502bc465acdfb5fb08e0835b90c95ece3daff9fe1b0ddaa6e43a946", @ANYRES16=r10, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r9, @ANYBLOB="1e003300a0000000ffffffffffff080211010001505050505050000000000000e4987db64d9215b8811fc72c2cf533192b2ebc250080"], 0x3c}}, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELPRL(0xffffffffffffffff, 0x89f6, &(0x7f0000000280)={'ip6_vti0\x00', &(0x7f0000000100)={'ip6tnl0\x00', 0x0, 0x0, 0x1, 0x3f, 0x1, 0x66, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', @mcast1, 0x7800, 0x20, 0x4, 0x80000000}}) bpf$PROG_LOAD(0x5, &(0x7f0000000340)={0xb, 0x8, &(0x7f0000000040)=ANY=[@ANYBLOB="85200000020000001850000003000000000000000000000018510000100000000000000000000000185200000f00000000000000000000008510000007000000"], &(0x7f00000000c0)='syzkaller\x00', 0x1000, 0x0, 0x0, 0x41000, 0x8, '\x00', r11, 0xc, 0xffffffffffffffff, 0x8, &(0x7f00000002c0)={0x9, 0x1}, 0x8, 0x10, &(0x7f0000000300)={0x3, 0x3, 0x91, 0xca}, 0x10}, 0x80) (async) bpf$PROG_LOAD(0x5, &(0x7f00000006c0)={0x10, 0x3, &(0x7f00000004c0)=@raw=[@jmp={0x5, 0x0, 0xb, 0x1, 0x6, 0xffffffffffffffe0, 0xfffffffffffffffc}, @map_idx_val={0x18, 0xc, 0x6, 0x0, 0x5, 0x0, 0x0, 0x0, 0x6}], &(0x7f0000000500)='syzkaller\x00', 0x2, 0x88, &(0x7f00000005c0)=""/136, 0x1e00, 0x16, '\x00', 0x0, 0x10, 0xffffffffffffffff, 0x8, &(0x7f0000000540)={0x5, 0x4}, 0x8, 0x10, &(0x7f0000000680)={0x0, 0x7, 0x81, 0x3}, 0x10}, 0x80) [ 505.828405][T14359] loop3: detected capacity change from 0 to 128 12:44:57 executing program 2: r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setregid(0x0, r1) r2 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r2, 0x0) r3 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000001580), 0x2, 0x0) r4 = openat$selinux_attr(0xffffffffffffff9c, &(0x7f00000015c0)='/proc/self/attr/keycreate\x00', 0x2, 0x0) r5 = syz_mount_image$ocfs2(&(0x7f0000001600), &(0x7f0000001640)='./file0\x00', 0x9, 0x2, &(0x7f00000017c0)=[{&(0x7f0000001680)="fa2b3d8167549ac16549f298b4742bd572b43db6c448f2a4ebb6aadbb56bfa864c5b9aa346a569180f0613f09fcb67033dcd0cfa102680389ad25b113f38075a6cc22706bb4a57c961dd01265d3b47526b6fe73ad8242290204c705178c4cf25d12006fe1eda497acd5ce7574aabd682dc7a653e24d1a66580123e51a29aa9aded08769a078a31987e79a60b57f17275770b8d6894658e82f70319742cec06ff269f1a574e31dc1e22b0f34943ac2e45268e7aaf6b2e72dc5d3a41a5baefe5182bc5722a", 0xc4, 0x8}, {&(0x7f0000001780)="a1d17d44b780517da3b1", 0xa, 0x7}], 0x20a0, &(0x7f0000001800)={[{'\xd1s(\x99\xf6\x11\xcd\x89\x94\x03M\x7fA=\xc9Wc\x0eT\x93\xc2\x85\xac\xa4\x00e\xcbc\x11\xbeik'}, {'{{*/$'}, {'wg2\x00'}], [{@smackfsroot={'smackfsroot', 0x3d, '\x00'}}, {@func={'func', 0x3d, 'BPRM_CHECK'}}]}) r6 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r6, 0x0) r7 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r7, 0x0) r8 = syz_clone(0x22000200, 0x0, 0x0, 0x0, 0x0, 0x0) tgkill(r8, r8, 0xb) fstat(0xffffffffffffffff, &(0x7f0000001880)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) sendmsg$unix(0xffffffffffffffff, &(0x7f0000001980)={&(0x7f0000001440)=@abs={0x0, 0x0, 0x4e21}, 0x6e, &(0x7f0000001540)=[{&(0x7f00000014c0)="9f2438aa09f1ecddfef7a10324877995d8aed5d3bf4e2f70534258ee15f73a30e887522bf12aa56f9134d6d48a898269742f7146d37f5dba1a2c0e85a8fc6439680653bfe821a96bb3613cd1b2e36260becb", 0x52}], 0x1, &(0x7f0000001900)=[@cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff, 0x0, r1}}}, @rights={{0x34, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2, r3, r4, 0xffffffffffffffff, r5, r6, r7]}}, @cred={{0x1c, 0x1, 0x2, {r8, 0xee00, r9}}}], 0x78, 0x1}, 0x800) r10 = socket$nl_generic(0x10, 0x3, 0x10) r11 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_WDS_PEER(r10, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)=ANY=[@ANYBLOB='I\x00\x00\x00', @ANYRES16=r11, @ANYBLOB="0106000000150000294c421800000c0003990000000000000000000a0006090000000000000000"], 0x2c}}, 0x0) sendmsg$WG_CMD_SET_DEVICE(r10, &(0x7f0000001400)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f00000013c0)={&(0x7f00000019c0)={0x126c, 0x0, 0x800, 0x70bd2b, 0x25dfdbfc, {}, [@WGDEVICE_A_PEERS={0x938, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e21, @multicast1}}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e24, @loopback}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "0eb09ab93edec1b19dfe2709074e8eaff58e3542ddd71ffcd91f9b340b2bd9dd"}]}, {0xd4, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @a_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7c4294ba8510fb5af5dbd5d3d8a6189657b0b747ceb19ce9c3e063be39a4d76d"}, @WGPEER_A_FLAGS={0x8, 0x3, 0x6}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @empty}}]}, {0x54, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PUBLIC_KEY={0x24}]}, {0x38, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x3}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "6fa67fa16427ba004bd6cacd70dfd298211982bf55bae742e9609862d904b5c7"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x4}]}, {0x84, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_FLAGS={0x8, 0x3, 0x4}, @WGPEER_A_FLAGS={0x8, 0x3, 0x5}, @WGPEER_A_ALLOWEDIPS={0x20, 0x9, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5, 0x3, 0x1}}]}]}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e23, @empty}}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "83bfcccc3ecd37dfb2b7b6476378bf25b5ad8df295d797b00af917f43b8f221e"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x9}, @WGPEER_A_FLAGS={0x8, 0x3, 0x3}]}, {0x6f8, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x130, 0x9, 0x0, 0x1, [{0xd0, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private1={0xfc, 0x1, '\x00', 0x1}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x2d}}, {0x5, 0x3, 0x3}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x13}}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x1}, @WGPEER_A_ALLOWEDIPS={0x554, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x3}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @broadcast}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, '\x00', 0x44}}, {0x5}}]}, {0xf4, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}}, {0x5, 0x3, 0x2}}]}, {0xc4, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x2}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x17}}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x1}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x3}}]}, {0x58, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}]}, {0xdc, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x22}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x1, 0x0}}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}]}, {0xb8, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010100}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5, 0x3, 0x2}}]}]}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e20, 0x100, @remote, 0x6}}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @multicast2}}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}]}, @WGDEVICE_A_PEERS={0x1f4, 0x8, 0x0, 0x1, [{0x1c8, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x168, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010100}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e23, @local}}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x3}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e23, 0x8000, @private0={0xfc, 0x0, '\x00', 0x1}, 0x2}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x3}, @WGPEER_A_FLAGS={0x8, 0x3, 0x2}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e21, @dev={0xac, 0x14, 0x14, 0x2d}}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}]}, @WGDEVICE_A_PEERS={0x2d0, 0x8, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x5}]}, {0xc, 0x0, 0x0, 0x1, [@WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x1}]}, {0xc, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x6}]}, {0x14, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6}]}, {0xb0, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0xa4, 0x9, 0x0, 0x1, [{0xa0, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x1}}]}]}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x7ff}]}, {0x34, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x2}, @WGPEER_A_FLAGS={0x8, 0x3, 0x3}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e24, 0xfb0c, @rand_addr=' \x01\x00', 0x200}}]}, {0x1b0, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "96efd8d3639c455584326aea86743bbc867f20b46ca9e01a6270e68d31e2b4fd"}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_ALLOWEDIPS={0x140, 0x9, 0x0, 0x1, [{0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @empty}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5, 0x3, 0x2}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}]}, {0x70, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x1}}]}, {0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "0814f69618bd9f5856fb55576334594468ff07c611acb0b6e1ee126279f52601"}]}]}, @WGDEVICE_A_PEERS={0x438, 0x8, 0x0, 0x1, [{0x48, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e20, 0x2, @loopback, 0x19b}}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}, {0x3a0, 0x0, 0x0, 0x1, [@WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x7f}, @WGPEER_A_ALLOWEDIPS={0x394, 0x9, 0x0, 0x1, [{0x10c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x26}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}]}, {0x118, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @remote}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private1={0xfc, 0x1, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @loopback}}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, '\x00', 0x1}}, {0x5, 0x3, 0x3}}]}, {0x100, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, '\x00', 0x27}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @local}}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5, 0x3, 0x2}}]}, {0x4}]}]}, {0x4c, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7a5c3ac756884983f827fc99b6b826ce84b37bdc33a7bb2392dea88547908765"}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7ed53d5f4e34a936ac251ca2a2ca46e355a24faf536ede557ac4e5376e3f9cae"}]}]}, @WGDEVICE_A_FWMARK={0x8, 0x7, 0x2}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg2\x00'}]}, 0x126c}, 0x1, 0x0, 0x0, 0x4068090}, 0x8000) [ 505.918845][T14359] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 505.939086][T14359] Mount JFS Failure: -5 [ 505.943427][T14359] jfs_mount failed w/return code = -5 [ 505.953713][ T25] kauditd_printk_skb: 1 callbacks suppressed 12:44:57 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x20000000000000) [ 505.953728][ T25] audit: type=1400 audit(1644497097.344:498): avc: denied { map } for pid=14365 comm="syz-executor.2" path="/dev/bus/usb/007/001" dev="devtmpfs" ino=726 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:usb_device_t tclass=chr_file permissive=1 12:44:57 executing program 0: r0 = syz_mount_image$erofs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x0, &(0x7f0000000200), 0x800, &(0x7f0000000080)={[{@noacl}]}) mkdirat(r0, &(0x7f0000000040)='./file0/file0\x00', 0x0) 12:44:57 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), 0xffffffffffffffff) (async) r3 = socket$nl_generic(0x10, 0x3, 0x10) (async) r4 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r4, 0x8933, &(0x7f0000001280)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_GET_KEY(r3, &(0x7f0000000900)={0x0, 0x0, &(0x7f00000008c0)={&(0x7f0000000580)={0x28, r2, 0xa1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r5}, @void}}, [@NL80211_ATTR_MAC={0xa}]}, 0x28}}, 0x0) (async, rerun: 32) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000380)={'wlan0\x00', 0x0}) (rerun: 32) sendmsg$NL80211_CMD_GET_STATION(r0, &(0x7f0000000480)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f0000000440)={&(0x7f0000000400)={0x40, r2, 0x200, 0x70bd2d, 0x25dfdbfe, {{}, {@val={0x8, 0x3, r6}, @val={0xc, 0x99, {0x0, 0x21}}}}, [@NL80211_ATTR_STA_AID={0x6, 0x10, 0x2a3}, @NL80211_ATTR_STA_VLAN={0x8}, @NL80211_ATTR_STA_PLINK_ACTION={0x5}]}, 0x40}, 0x1, 0x0, 0x0, 0x4044810}, 0x4000) (async) r7 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_LINKMODES_SET(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000007c0)={0x44, r7, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_LINKMODES_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syz_tun\x00'}]}, @ETHTOOL_A_LINKMODES_OURS={0x18, 0x3, 0x0, 0x1, [@ETHTOOL_A_BITSET_BITS={0x14, 0x3, 0x0, 0x1, [{0x10, 0x1, 0x0, 0x1, [@ETHTOOL_A_BITSET_BIT_VALUE={0x4}, @ETHTOOL_A_BITSET_BIT_INDEX={0x8}]}]}]}]}, 0x44}}, 0x0) sendmsg$ETHTOOL_MSG_LINKMODES_SET(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000003c0)={0x40, r7, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_LINKMODES_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syz_tun\x00'}]}, @ETHTOOL_A_LINKMODES_OURS={0x14, 0x3, 0x0, 0x1, [@ETHTOOL_A_BITSET_VALUE={0x4}, @ETHTOOL_A_BITSET_SIZE={0x8}, @ETHTOOL_A_BITSET_NOMASK={0x4}]}]}, 0x40}}, 0x0) getsockopt$PNPIPE_IFINDEX(0xffffffffffffffff, 0x113, 0x2, &(0x7f00000001c0)=0x0, &(0x7f0000000200)=0x4) sendmsg$ETHTOOL_MSG_TSINFO_GET(r0, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)={0x6c, r7, 0x10, 0x70bd2b, 0x25dfdbfe, {}, [@HEADER={0x20, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvlan0\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r8}]}, @HEADER={0x38, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvlan0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}]}]}, 0x6c}, 0x1, 0x0, 0x0, 0x8000}, 0x4000800) (async) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async, rerun: 64) r10 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) (rerun: 64) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000940)=ANY=[@ANYBLOB="3c00000066d42ea9c9ed2d2874324b3c0d1fabf31352b95a5a93b0ccec248d1c3797ee8243246117d88b64715402000fc07f41524cac9d4d1575452eb3103bafed54b76c2e497a32def8d90a8e9c1c7c6493478e7fe7ca54934a8d023bcba91a4bf6e130af42a552bbfcea05c616f2c159af047ce3036a4f31d83a9f39e313747871432ae4d16955060bae7703f07a3c45065e9a5ffb55bc4b55741777d053c25ed8657652b2346a5afdb455a923e66da43138c15dc1d00502bc465acdfb5fb08e0835b90c95ece3daff9fe1b0ddaa6e43a946", @ANYRES16=r10, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r9, @ANYBLOB="1e003300a0000000ffffffffffff080211010001505050505050000000000000e4987db64d9215b8811fc72c2cf533192b2ebc250080"], 0x3c}}, 0x0) (async) ioctl$sock_ipv6_tunnel_SIOCDELPRL(0xffffffffffffffff, 0x89f6, &(0x7f0000000280)={'ip6_vti0\x00', &(0x7f0000000100)={'ip6tnl0\x00', 0x0, 0x0, 0x1, 0x3f, 0x1, 0x66, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', @mcast1, 0x7800, 0x20, 0x4, 0x80000000}}) bpf$PROG_LOAD(0x5, &(0x7f0000000340)={0xb, 0x8, &(0x7f0000000040)=ANY=[@ANYBLOB="85200000020000001850000003000000000000000000000018510000100000000000000000000000185200000f00000000000000000000008510000007000000"], &(0x7f00000000c0)='syzkaller\x00', 0x1000, 0x0, 0x0, 0x41000, 0x8, '\x00', r11, 0xc, 0xffffffffffffffff, 0x8, &(0x7f00000002c0)={0x9, 0x1}, 0x8, 0x10, &(0x7f0000000300)={0x3, 0x3, 0x91, 0xca}, 0x10}, 0x80) (async) bpf$PROG_LOAD(0x5, &(0x7f00000006c0)={0x10, 0x3, &(0x7f00000004c0)=@raw=[@jmp={0x5, 0x0, 0xb, 0x1, 0x6, 0xffffffffffffffe0, 0xfffffffffffffffc}, @map_idx_val={0x18, 0xc, 0x6, 0x0, 0x5, 0x0, 0x0, 0x0, 0x6}], &(0x7f0000000500)='syzkaller\x00', 0x2, 0x88, &(0x7f00000005c0)=""/136, 0x1e00, 0x16, '\x00', 0x0, 0x10, 0xffffffffffffffff, 0x8, &(0x7f0000000540)={0x5, 0x4}, 0x8, 0x10, &(0x7f0000000680)={0x0, 0x7, 0x81, 0x3}, 0x10}, 0x80) 12:44:57 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x60, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:57 executing program 0: r0 = syz_mount_image$erofs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x0, &(0x7f0000000200), 0x800, &(0x7f0000000080)={[{@noacl}]}) mkdirat(r0, &(0x7f0000000040)='./file0/file0\x00', 0x0) 12:44:57 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xf0ffffffffffff) [ 506.298062][T14383] loop3: detected capacity change from 0 to 128 12:44:57 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080), 0xffffffffffffffff) r4 = fsmount(r0, 0x0, 0x2) write$cgroup_type(r4, &(0x7f0000000380), 0x9) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000240)={0x128, r5, 0x0, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc, 0x99, {0x80000000, 0x11}}}}, [@NL80211_ATTR_FRAME={0xfd, 0x33, @probe_request={@wo_ht={{}, {}, @device_b, @broadcast, @random="2ccc32cbdbfc"}, @val, @val, @val={0x3, 0x1}, @val={0x2d, 0x1a, {0x1000, 0x3, 0x4, 0x0, {0xf7a8, 0x4, 0x0, 0x5}, 0x300, 0x19, 0x1}}, @void, [{0xdd, 0x3a, "cf1ec6737e57da01c509235853f4bd3620b3f2a590e93b410f861e2a046281f913fd63974dfd4a20140a979c45ce8782fb80cf37a5e21abb4286"}, {0xdd, 0x80, "69f4ac01b0cd1edc8a2aa8b6f6b94c27b80ce834fa0aa653282b1341c5983575db253d7b78470cd75589b333e40c6210a1eb2b81078c4786477bfe240d724797230fec2a97e4a2154b93d3ce28e242dedbbbb2be0adb2402adae8d2812b8fc5482443876aea7804ea9e6b2990c8ba791cb13ec3e7dce8a3feca3c5e2edc72981"}]}}]}, 0x128}, 0x1, 0x0, 0x0, 0x2}, 0x0) sendmsg$NL80211_CMD_FRAME(0xffffffffffffffff, &(0x7f0000001280)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000040)=ANY=[@ANYBLOB="48040000", @ANYRES16=r5, @ANYBLOB="01edff000000000004003b1c210008000300", @ANYRES32=r2, @ANYBLOB="2c0433005000de295b3acba52ee4080211000001505050505050"], 0x448}}, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000003, 0x28011, r0, 0x0) openat$cgroup_int(0xffffffffffffffff, &(0x7f0000000100)='memory.max\x00', 0x2, 0x0) r6 = openat$hwrng(0xffffffffffffff9c, &(0x7f00000003c0), 0x1001, 0x0) ioctl$sock_SIOCGIFINDEX_80211(r4, 0x8933, &(0x7f0000000480)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r6, &(0x7f0000000540)={&(0x7f0000000400)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000500)={&(0x7f00000004c0)={0x38, r3, 0x300, 0x70bd2b, 0x25dfdbfc, {{}, {@val={0x8, 0x3, r7}, @val={0xc, 0x99, {0x6, 0x33}}}}, [@chandef_params=[@NL80211_ATTR_WIPHY_EDMG_BW_CONFIG={0x5, 0x119, 0xd}], @NL80211_ATTR_CH_SWITCH_COUNT={0x8, 0xb7, 0xb9}]}, 0x38}, 0x1, 0x0, 0x0, 0x20000000}, 0x20008841) sendmsg$NL80211_CMD_GET_KEY(0xffffffffffffffff, &(0x7f0000000900)={0x0, 0x0, &(0x7f00000008c0)={&(0x7f0000000580)={0x28, 0x0, 0xa1, 0x0, 0x0, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_MAC={0xa}]}, 0x28}}, 0x0) sendmsg$NL80211_CMD_TDLS_OPER(0xffffffffffffffff, &(0x7f00000006c0)={&(0x7f00000005c0)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000680)={&(0x7f0000000600)={0x6c, 0x0, 0x100, 0x70bd26, 0x25dfdbfe, {{}, {@void, @val={0xc, 0x99, {0x4, 0x51}}}}, [@NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_TDLS_OPERATION={0x5, 0x8a, 0x3}, @NL80211_ATTR_TDLS_OPERATION={0x5, 0x8a, 0x1}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}]}, 0x6c}, 0x1, 0x0, 0x0, 0x4084}, 0x8014) r8 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r9 = socket$nl_generic(0x10, 0x3, 0x10) sendfile(r9, r8, 0x0, 0x10000a006) [ 506.371578][T14383] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 506.399259][T14383] Mount JFS Failure: -5 [ 506.428665][T14383] jfs_mount failed w/return code = -5 12:44:57 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x100000000000000) 12:44:57 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x68, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:58 executing program 2: r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setregid(0x0, r1) r2 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r2, 0x0) r3 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000001580), 0x2, 0x0) r4 = openat$selinux_attr(0xffffffffffffff9c, &(0x7f00000015c0)='/proc/self/attr/keycreate\x00', 0x2, 0x0) (async, rerun: 32) r5 = syz_mount_image$ocfs2(&(0x7f0000001600), &(0x7f0000001640)='./file0\x00', 0x9, 0x2, &(0x7f00000017c0)=[{&(0x7f0000001680)="fa2b3d8167549ac16549f298b4742bd572b43db6c448f2a4ebb6aadbb56bfa864c5b9aa346a569180f0613f09fcb67033dcd0cfa102680389ad25b113f38075a6cc22706bb4a57c961dd01265d3b47526b6fe73ad8242290204c705178c4cf25d12006fe1eda497acd5ce7574aabd682dc7a653e24d1a66580123e51a29aa9aded08769a078a31987e79a60b57f17275770b8d6894658e82f70319742cec06ff269f1a574e31dc1e22b0f34943ac2e45268e7aaf6b2e72dc5d3a41a5baefe5182bc5722a", 0xc4, 0x8}, {&(0x7f0000001780)="a1d17d44b780517da3b1", 0xa, 0x7}], 0x20a0, &(0x7f0000001800)={[{'\xd1s(\x99\xf6\x11\xcd\x89\x94\x03M\x7fA=\xc9Wc\x0eT\x93\xc2\x85\xac\xa4\x00e\xcbc\x11\xbeik'}, {'{{*/$'}, {'wg2\x00'}], [{@smackfsroot={'smackfsroot', 0x3d, '\x00'}}, {@func={'func', 0x3d, 'BPRM_CHECK'}}]}) (async, rerun: 32) r6 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r6, 0x0) (async) r7 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r7, 0x0) (async) r8 = syz_clone(0x22000200, 0x0, 0x0, 0x0, 0x0, 0x0) tgkill(r8, r8, 0xb) fstat(0xffffffffffffffff, &(0x7f0000001880)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) sendmsg$unix(0xffffffffffffffff, &(0x7f0000001980)={&(0x7f0000001440)=@abs={0x0, 0x0, 0x4e21}, 0x6e, &(0x7f0000001540)=[{&(0x7f00000014c0)="9f2438aa09f1ecddfef7a10324877995d8aed5d3bf4e2f70534258ee15f73a30e887522bf12aa56f9134d6d48a898269742f7146d37f5dba1a2c0e85a8fc6439680653bfe821a96bb3613cd1b2e36260becb", 0x52}], 0x1, &(0x7f0000001900)=[@cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff, 0x0, r1}}}, @rights={{0x34, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2, r3, r4, 0xffffffffffffffff, r5, r6, r7]}}, @cred={{0x1c, 0x1, 0x2, {r8, 0xee00, r9}}}], 0x78, 0x1}, 0x800) (async, rerun: 32) r10 = socket$nl_generic(0x10, 0x3, 0x10) (async, rerun: 32) r11 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_WDS_PEER(r10, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)=ANY=[@ANYBLOB='I\x00\x00\x00', @ANYRES16=r11, @ANYBLOB="0106000000150000294c421800000c0003990000000000000000000a0006090000000000000000"], 0x2c}}, 0x0) (async, rerun: 64) sendmsg$WG_CMD_SET_DEVICE(r10, &(0x7f0000001400)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f00000013c0)={&(0x7f00000019c0)={0x126c, 0x0, 0x800, 0x70bd2b, 0x25dfdbfc, {}, [@WGDEVICE_A_PEERS={0x938, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e21, @multicast1}}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e24, @loopback}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "0eb09ab93edec1b19dfe2709074e8eaff58e3542ddd71ffcd91f9b340b2bd9dd"}]}, {0xd4, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @a_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7c4294ba8510fb5af5dbd5d3d8a6189657b0b747ceb19ce9c3e063be39a4d76d"}, @WGPEER_A_FLAGS={0x8, 0x3, 0x6}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @empty}}]}, {0x54, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PUBLIC_KEY={0x24}]}, {0x38, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x3}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "6fa67fa16427ba004bd6cacd70dfd298211982bf55bae742e9609862d904b5c7"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x4}]}, {0x84, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_FLAGS={0x8, 0x3, 0x4}, @WGPEER_A_FLAGS={0x8, 0x3, 0x5}, @WGPEER_A_ALLOWEDIPS={0x20, 0x9, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5, 0x3, 0x1}}]}]}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e23, @empty}}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "83bfcccc3ecd37dfb2b7b6476378bf25b5ad8df295d797b00af917f43b8f221e"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x9}, @WGPEER_A_FLAGS={0x8, 0x3, 0x3}]}, {0x6f8, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x130, 0x9, 0x0, 0x1, [{0xd0, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private1={0xfc, 0x1, '\x00', 0x1}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x2d}}, {0x5, 0x3, 0x3}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x13}}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x1}, @WGPEER_A_ALLOWEDIPS={0x554, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x3}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @broadcast}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, '\x00', 0x44}}, {0x5}}]}, {0xf4, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}}, {0x5, 0x3, 0x2}}]}, {0xc4, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x2}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x17}}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x1}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x3}}]}, {0x58, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}]}, {0xdc, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x22}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x1, 0x0}}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}]}, {0xb8, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010100}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5, 0x3, 0x2}}]}]}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e20, 0x100, @remote, 0x6}}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @multicast2}}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}]}, @WGDEVICE_A_PEERS={0x1f4, 0x8, 0x0, 0x1, [{0x1c8, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x168, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010100}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e23, @local}}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x3}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e23, 0x8000, @private0={0xfc, 0x0, '\x00', 0x1}, 0x2}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x3}, @WGPEER_A_FLAGS={0x8, 0x3, 0x2}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e21, @dev={0xac, 0x14, 0x14, 0x2d}}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}]}, @WGDEVICE_A_PEERS={0x2d0, 0x8, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x5}]}, {0xc, 0x0, 0x0, 0x1, [@WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x1}]}, {0xc, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x6}]}, {0x14, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6}]}, {0xb0, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0xa4, 0x9, 0x0, 0x1, [{0xa0, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x1}}]}]}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x7ff}]}, {0x34, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x2}, @WGPEER_A_FLAGS={0x8, 0x3, 0x3}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e24, 0xfb0c, @rand_addr=' \x01\x00', 0x200}}]}, {0x1b0, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "96efd8d3639c455584326aea86743bbc867f20b46ca9e01a6270e68d31e2b4fd"}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_ALLOWEDIPS={0x140, 0x9, 0x0, 0x1, [{0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @empty}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5, 0x3, 0x2}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}]}, {0x70, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x1}}]}, {0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "0814f69618bd9f5856fb55576334594468ff07c611acb0b6e1ee126279f52601"}]}]}, @WGDEVICE_A_PEERS={0x438, 0x8, 0x0, 0x1, [{0x48, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e20, 0x2, @loopback, 0x19b}}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}, {0x3a0, 0x0, 0x0, 0x1, [@WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x7f}, @WGPEER_A_ALLOWEDIPS={0x394, 0x9, 0x0, 0x1, [{0x10c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x26}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}]}, {0x118, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @remote}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private1={0xfc, 0x1, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @loopback}}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, '\x00', 0x1}}, {0x5, 0x3, 0x3}}]}, {0x100, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, '\x00', 0x27}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @local}}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5, 0x3, 0x2}}]}, {0x4}]}]}, {0x4c, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7a5c3ac756884983f827fc99b6b826ce84b37bdc33a7bb2392dea88547908765"}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7ed53d5f4e34a936ac251ca2a2ca46e355a24faf536ede557ac4e5376e3f9cae"}]}]}, @WGDEVICE_A_FWMARK={0x8, 0x7, 0x2}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg2\x00'}]}, 0x126c}, 0x1, 0x0, 0x0, 0x4068090}, 0x8000) (rerun: 64) 12:44:58 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000000)=ANY=[], 0x208e24b) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000080)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_START_AP(r2, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000000c0)={&(0x7f0000001180)=ANY=[@ANYBLOB="9c0e0000", @ANYRES16=0x0, @ANYBLOB="000625bd7000ffdbdf250f00000008000300", @ANYRES32=r3, @ANYBLOB="0c009900060000002a0000000d03910065941518c49884ba0ce545bf1f2edf93b1d73b9320afafae483b72b13412b676d40b95284a2033e40689de8b8e8b0c6acc3342698378a8befe9d67abd0f7a5dca2f186981d26332a0424b970e7899af605e10e41e7d9a37282dc6341374d074ea9167226fc4a6bcf1eda4192577994fbff728de320269125ff72d7b5a5d60a03c5408e7fa5c7b0e87cb7bfa55710183d2d98d1cee588ff70f5adc1959633d00cf065d31b717a9876a82b2853ffcc01d60d8fdcfad987cdfdace8b45e866a6e6fca92f73afad69af860eb0d7803feeba32a85bfb3175dd1a7e345e0e26d1a5e1b8e124476ae8002598b071599215af4d70a464baee635b12fb2414c8d300717fd2b3a43e2e06a1d3892bc8ba87851fabb6dd0fc77ad0e6c36ad164afc30898bbb51e35cfc9554ad9f76cd46c99469c819dfcb6ed4fa18a8054a73a19cac1869d2cfc6932ca11410795b4cd020ed8fa9bd6370f89103a9f355bb6d365f029efbdb82df59c1e70c9b8d297fa87cc89f8eff7b9bd9bcf2b560b2184d2b7bae3a498587b5d989a2abd1a155f72e48555182b039ee2fcd762318f167cd833c7d9587845acd6970a152edd010713d229e49dfeef7ca4cb9f64d592c94bf4b78fc3ca5d13c37f09735e665f5061e216e4f36387e8cd30fdfaeb93198339b8cffcc990efb7eb8b68fd84177f5eb9ce6014499dfd00a7b24ad6fb4f4a58778a25fa2954112f27e8e87b089b4fa69d4d6d879d5628b217c979b040c16bb5c7d6c7d4ec3e14550f30cbfd7532c7eecd12001db57bb8fb398b1fa0ead28d6f33e73ebd09d5d15c6098bf0488add51a4dc1bb141e2188f46443f96f4e92450336ccbf37c8df30f527989bc2a8863ff3a002c558ee232acb3bd737a7096bbe4c99c30dc8f7f15630a10c423dc259a663cf7d9b907bba515b9c91f5d024b6ad03ebda2fe3ffb2d24a2c0864de0aa4d1d16203e6ac6178c8d65680f514a44c470ad74b27470a59888046af04904611c7807d551a3f29137a444ca1a10bec60b6568ddd3c644593afebf1b53b5a75fa1ae50f240e40fe4d63b944f879b18d7b16ca2ad317c3514a6cf36dd979628082b9dd0000000fd0080000006010101010101ffc15d43e8442d1d19b791719e0577a769f66f7c39660bca0fa7241da9fa0fc3ccb48d1b39724aa2f70f5f7a1006b4de09d79446c474685c11b87125f9b98f93f0694bb959e043ca89261f001121b60dbf144444764861df4ef036cb96be111684fd5ddf199e838f10ba09ce1d3632b11066c5465798f52e79e4bf3c852be5dadd9385d2718e74dc4df5c07113c5c51c0edd908ee9b891959a518af6d3ff098a4c804109c1f30e6dbf2af65de6d2eef056f17a13fea41324de26e3fe641435c63351002d1a0003100800000000000000100036000b000000000400000080598c1050033738123369c2c4819f7f65949ee60000000c0080000406ff1f0008ff0f07007f000301ae0008000e8004000100b0089100c88af715abe23686d8b49ba9511b410ac8b6f7f4297124fc3662a46d5efeba692d4919d6cfc1f58ed568ea01d4b81be3eaaa9564f831e802591d81f80b0b1e577b125ad3390ab7a20f233b6da7cce1399b8d19ca9c8a203380f92961af24e802030899cb502c9fed59bc8251d189787b56092660a61efe95662445ebac34723bb67426dc6629b93ff4d50624ce99194f096db2775536905540745e9e07078acc9bee00f93c95aebf1a591575bb73a2a225755adadb6b53cad1ddcd7925ed54e3a0c5eb51882b531779a7dfc6ca344b1cb75717004193dd26040ccdcb415a5c5dcd873f0c863ef822941f95d779365f54a8e5823bd73f98c70dca6449031b76f296ca328e74e72ae9b99d6f3187a8fb102b718507d87896c4a11226e54b492aa085d9bdacd33248b842fad70cca70b62c8f2702a96ac02a40482f492ecb5edf3be4fbcc4c71b7462d46d065e2d75afc552212d06ceabe07148128c2bffcb786ea08b8c34b7cadf0e679d8921e902909a73e88347ea52dc025c0ca4af72d1e7f39ec6aceec7cb5fb8e234fddd7814785fd328a732f67b3a9fa48b5c814918dc310adef40a067ac270b683f1972c2e52e6dcbff0335c06fe6ae9d5670d4ced9c75f5fb5ddbb3772917de297e8416613c21ebb5f15f3cd5d59109210100fd0c8f4730abeffd9df2164acec190f6b65c5f1e9414fbdff68a367c00066953e5f0b9d0ea31e5910bbdbcc1c5b8931354b3113dc3c39026ba1a851ecf243d254f508477a76bf106bb382468fec9d1da3aa13efaab5f48e4cd8539bc3e2cad23ef2b6091f27691b250ed4890d6164154bed2c820b68fbc84a80ebf4a9356d8cfe36c468c4df1a277c4f2144e0c81cd214db3dc24ea100adedbca0a926491d46f11c4b9336f1575f043f9abc968eaacc1faf490169e482cec61e65b754aca548e8e29f9f010f8d5dad391f55b81e842370e172c75e9dc7badd2a87dfa70592a1c897abe7317664ca53625f5d3f6a20a7425d47541e68851584da3607f7a128839576d84f7993e13c7c1d879c4ee59834dfa9e918fde1bc35550f6f77a4204bb81672f0928cd84249f9941663811915db51b201aec284fdf9347b0ea69df929035622a015b4a1288b8b96f4c0cb93d10a9c884125ffd18ec051ff90a94b9bba685efe0771bd32f500158ad07630e278a24b75520bb105aaa4f265a79c96d8c5ad1966641f18d59a8a3d32abd5ad46a49e14a632d49336642100f4e5e5e6f3ef021e5d06de48275fac801f0559ec21202a1061d377225df301c9c469db05c5d7d9977d8f85e664b0ce407d6492fe2511871f42def5c213e0f9486c4133d7e1e1432027675cd0176013368a1a6e598097b032f2a05325baabe36f8122841d0ab517d560dd81418936729239d5c52b477fff04dcfcd582030611a430c682e504aeadc66c6cfac5ed225c9c01367bdfe339be7afca15e5d8cdc7709697bc500d88aeaaa2a7a600d7762b930a60d8b8835e16b696ae5bfd014b71c58e8f00452dba4e1da657cb52fbed1689f73633c9664ab25ce24f0f1b20ceff469b9f191769678b601561260aecf5eba5fce31c3f72009fbf94b7a415b52d7052ce58397c7f118f8941ceeac4b5346cfd4823b75d2841093ad314db0943cb6ab85d4bbc93bb6f35f1cc76af39e8b7919109e4d773c69da23c6c3ff9aede12dfa4f2b720dc76bb110bee3aba3d4dc3a5c4869b121fcf4b3f51f5eeab5fed0c44ed0d63440b776c689cd7d85d6447d1aaf220a3eb812c8d6d4c61f624665c357fd90f7f12a71d08f67e1a47cfde50f61b44ac3867fa069271e8e3834cb978ca7ff8724e1de807284025526e4d3d5c2572fda69c6bb30207fcc48f27f98c9938de69366ae042db0b876e142ba5e52b2503439df843eeaea10838ac47d7a96ecf326770fea075de11cc298beb67dcaf456e989801c73aa8b72c9690205d4e5acc893366e74cebc21235f1e99602ee284de639c20a54f2b98fbb581d541ee7eda1497cf642c86118ced6f92b4a20ae2893dcc36564aecabb3593fd46fd21cf949306c7eb73ae44f0216f4892be21870886c6a2cfa001f546b0ac6b7f0b83fd938fd3a512e4f9815ecf6d152253c32dc5d7c456ed5302162d8a0d6eaa1f4a734387fe4738ce5437eeaa16e5156a448ab1592977bf489ef4f8258afaac0993e11c509a9218bf75d6182ad4846f59504e3f8a0dd8aa1923a5e1822b6f4f5790a8d80a5c6b1fdeee4c6e537552d2573c02100051f20692bd94cacb0bd53dd183c6159c3f564006169439998d7f0f7be4267b8498f28ae8acaeb969f97be391c1309a66c5f5304451c4b35761cf3e363124c4765f93a43fafd039e8c8cca045831429aa0364b8c25f72bcf79d61afe8b71ac4f42b30a32a1c2ebbcb1bb9382a65517d17ea78528e7c082236a5a96e6d080eb5703903aaf7b320558fe103f046c3e6b478d984fb091c7116d649ee2a69d04922008d1bd8da3211c2580a303a0d5d06f93080119299e6cd85537bd9e54949333ad519082c10322ac590d683251f0922ad80fe1c3ed02515a0193179256646e1a4c225113d3adf4511477cca630ab93d5a74670b4bfe24ab124a1ef3379ccbe87a82fc7d1f0b600ac9cbafe748f6cd88479fe951611939caadb149261cfdbfd4cc30d0eb9ea7f02d36ab7261024c256cf0eb8d0b4098c0a3c7099f5bda30cf1d660d646c919bf763dcb01be0f727b2da6d92df960e84827aebc146dce8463abe393ced916cfcb10e23b53039a9778215da075b9c2f43afea4087e4a7949ff704a6dba0727a19b914cf5edd35d9bbbb52cb4eb39feae7e385328b71ca99f334fc249ab2ab9f5ffbd600d22e57424941bdea6b7d836e913b4ae09951258a5aab75aac5f3e5764154a2031950b2d70708ddc6419d047bda65224c34d9793156a601a97433cdbc30d56bc64c74a084b953ea717867480626bc2e148e6caf2e26288f151edb446e4e0442252fb8b90282101f6078ca354b73434eb4d0b0b5519d817ee1610798aa000e21f028abf52fb0decc3556c2f9ab048e08481b3fd1ca629a54f6fec42714643ea225e268eea37ad9a727b278743b7fe855c75202fe482339d2dabf84d628bc294d45e79684b88010e80dd00020077390ea97a1343fa59dae0daa62f9e674dbe2595449f3d84965d0817b6cd0d0b6dbee7c7c312e1b6c0ae08fc92ae257df9ac82d6e0b5822102d076ea6280f6b6dfec2a8cd9e33de3ff96416a205ac20bd7acff7160c52994fefac289d854e4663f25986e8a8b2bf2fdf15ce5e0f45480c3f0abaa22d38c9c0054d5a8a83093ec6d8b1ec32103aaf1a54f285eb0e94401248488e861ebe96ac7b3d11bf95307dee550b89a5a1099e025bb54ae48970f6557d9e08df9b53d5d45ab02effef8d4668cf15ae3b31a1d15b76a2838e5a77f0247a59af5fb4e592ec7000000a4000200015491f50fc34d5a08b7f53443a243f878f9b8aa22167395be505ab7172c410f5ef6286d6fe8f0db3726e40c8812b6421e587a0d7961a12368bdb0aaef9277e4a7f457fb962e395de090873369edfd9627cbe3fbb3c982215332ee54e22a8c0e0dc5215a3eeb4e830684adb40ab93c96c681f0cf66dfdd7ed55c21f4e1e0d91db745d55007efaa3e73946f442f44e07b8502d1718d5b5ee8c6aeb31d11d01af30500a200e10000000500a30000000000"], 0xe9c}, 0x1, 0x0, 0x0, 0x4010}, 0x4044118) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000180)=ANY=[@ANYBLOB="3403088b", @ANYRES16=r4, @ANYBLOB="010000000000000000003b00000008000300", @ANYRESDEC=r1, @ANYBLOB="1e003300a0000000ff0000000003cbc2ed6813f346505050505000000000040048bf8f6ee9901eaa5768089d2e0d6dc63aa2de2ae68ce208ada82f1a5bfed72dcb9e24e129d3f9d7e9719d4246cdd9fbec048ed22b6934182fb4f11e3cd326bc53acf1326c7066f746b8d6b92143aab98f284296bc35f0c3acb5dc37c4d2b04f8bad34ec2dd3ad96dc17a21f014ce1262e7d127453009706026e09161abaa9240ab367a0f52fd03a745cfbf0585bdb236a8d9b9f028a909c5d28088ea8c6d80e317443f6489620c38978b1c5e20be7b0190fcd6979498dd2d553b163"], 0x3c}}, 0x40) [ 506.706642][T14394] loop3: detected capacity change from 0 to 128 [ 506.726719][ T25] audit: type=1400 audit(1644497098.114:499): avc: denied { write } for pid=14386 comm="syz-executor.0" name="hwrng" dev="devtmpfs" ino=621 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:random_device_t tclass=chr_file permissive=1 12:44:58 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x200000000000000) [ 506.792585][T14394] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 506.822046][T14394] Mount JFS Failure: -5 [ 506.849691][T14394] jfs_mount failed w/return code = -5 [ 506.882122][ T25] audit: type=1804 audit(1644497098.114:500): pid=14387 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/797/cgroup.controllers" dev="sda1" ino=1179 res=1 errno=0 12:44:58 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x6c, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:58 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x300000000000000) [ 507.157412][T14405] loop3: detected capacity change from 0 to 128 12:44:58 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) (async, rerun: 32) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080), 0xffffffffffffffff) (rerun: 32) r4 = fsmount(r0, 0x0, 0x2) write$cgroup_type(r4, &(0x7f0000000380), 0x9) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000240)={0x128, r5, 0x0, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc, 0x99, {0x80000000, 0x11}}}}, [@NL80211_ATTR_FRAME={0xfd, 0x33, @probe_request={@wo_ht={{}, {}, @device_b, @broadcast, @random="2ccc32cbdbfc"}, @val, @val, @val={0x3, 0x1}, @val={0x2d, 0x1a, {0x1000, 0x3, 0x4, 0x0, {0xf7a8, 0x4, 0x0, 0x5}, 0x300, 0x19, 0x1}}, @void, [{0xdd, 0x3a, "cf1ec6737e57da01c509235853f4bd3620b3f2a590e93b410f861e2a046281f913fd63974dfd4a20140a979c45ce8782fb80cf37a5e21abb4286"}, {0xdd, 0x80, "69f4ac01b0cd1edc8a2aa8b6f6b94c27b80ce834fa0aa653282b1341c5983575db253d7b78470cd75589b333e40c6210a1eb2b81078c4786477bfe240d724797230fec2a97e4a2154b93d3ce28e242dedbbbb2be0adb2402adae8d2812b8fc5482443876aea7804ea9e6b2990c8ba791cb13ec3e7dce8a3feca3c5e2edc72981"}]}}]}, 0x128}, 0x1, 0x0, 0x0, 0x2}, 0x0) (async) sendmsg$NL80211_CMD_FRAME(0xffffffffffffffff, &(0x7f0000001280)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000040)=ANY=[@ANYBLOB="48040000", @ANYRES16=r5, @ANYBLOB="01edff000000000004003b1c210008000300", @ANYRES32=r2, @ANYBLOB="2c0433005000de295b3acba52ee4080211000001505050505050"], 0x448}}, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000003, 0x28011, r0, 0x0) openat$cgroup_int(0xffffffffffffffff, &(0x7f0000000100)='memory.max\x00', 0x2, 0x0) r6 = openat$hwrng(0xffffffffffffff9c, &(0x7f00000003c0), 0x1001, 0x0) (async) ioctl$sock_SIOCGIFINDEX_80211(r4, 0x8933, &(0x7f0000000480)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r6, &(0x7f0000000540)={&(0x7f0000000400)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000500)={&(0x7f00000004c0)={0x38, r3, 0x300, 0x70bd2b, 0x25dfdbfc, {{}, {@val={0x8, 0x3, r7}, @val={0xc, 0x99, {0x6, 0x33}}}}, [@chandef_params=[@NL80211_ATTR_WIPHY_EDMG_BW_CONFIG={0x5, 0x119, 0xd}], @NL80211_ATTR_CH_SWITCH_COUNT={0x8, 0xb7, 0xb9}]}, 0x38}, 0x1, 0x0, 0x0, 0x20000000}, 0x20008841) sendmsg$NL80211_CMD_GET_KEY(0xffffffffffffffff, &(0x7f0000000900)={0x0, 0x0, &(0x7f00000008c0)={&(0x7f0000000580)={0x28, 0x0, 0xa1, 0x0, 0x0, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_MAC={0xa}]}, 0x28}}, 0x0) sendmsg$NL80211_CMD_TDLS_OPER(0xffffffffffffffff, &(0x7f00000006c0)={&(0x7f00000005c0)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000680)={&(0x7f0000000600)={0x6c, 0x0, 0x100, 0x70bd26, 0x25dfdbfe, {{}, {@void, @val={0xc, 0x99, {0x4, 0x51}}}}, [@NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_TDLS_OPERATION={0x5, 0x8a, 0x3}, @NL80211_ATTR_TDLS_OPERATION={0x5, 0x8a, 0x1}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}]}, 0x6c}, 0x1, 0x0, 0x0, 0x4084}, 0x8014) (async) r8 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r9 = socket$nl_generic(0x10, 0x3, 0x10) sendfile(r9, r8, 0x0, 0x10000a006) 12:44:58 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x400000000000000) [ 507.274314][T14405] jfs_mount: diMount(ipaimap) failed w/rc = -5 12:44:58 executing program 2: r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setregid(0x0, r1) r2 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r2, 0x0) r3 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000001580), 0x2, 0x0) r4 = openat$selinux_attr(0xffffffffffffff9c, &(0x7f00000015c0)='/proc/self/attr/keycreate\x00', 0x2, 0x0) r5 = syz_mount_image$ocfs2(&(0x7f0000001600), &(0x7f0000001640)='./file0\x00', 0x9, 0x2, &(0x7f00000017c0)=[{&(0x7f0000001680)="fa2b3d8167549ac16549f298b4742bd572b43db6c448f2a4ebb6aadbb56bfa864c5b9aa346a569180f0613f09fcb67033dcd0cfa102680389ad25b113f38075a6cc22706bb4a57c961dd01265d3b47526b6fe73ad8242290204c705178c4cf25d12006fe1eda497acd5ce7574aabd682dc7a653e24d1a66580123e51a29aa9aded08769a078a31987e79a60b57f17275770b8d6894658e82f70319742cec06ff269f1a574e31dc1e22b0f34943ac2e45268e7aaf6b2e72dc5d3a41a5baefe5182bc5722a", 0xc4, 0x8}, {&(0x7f0000001780)="a1d17d44b780517da3b1", 0xa, 0x7}], 0x20a0, &(0x7f0000001800)={[{'\xd1s(\x99\xf6\x11\xcd\x89\x94\x03M\x7fA=\xc9Wc\x0eT\x93\xc2\x85\xac\xa4\x00e\xcbc\x11\xbeik'}, {'{{*/$'}, {'wg2\x00'}], [{@smackfsroot={'smackfsroot', 0x3d, '\x00'}}, {@func={'func', 0x3d, 'BPRM_CHECK'}}]}) r6 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r6, 0x0) r7 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r7, 0x0) r8 = syz_clone(0x22000200, 0x0, 0x0, 0x0, 0x0, 0x0) tgkill(r8, r8, 0xb) fstat(0xffffffffffffffff, &(0x7f0000001880)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) sendmsg$unix(0xffffffffffffffff, &(0x7f0000001980)={&(0x7f0000001440)=@abs={0x0, 0x0, 0x4e21}, 0x6e, &(0x7f0000001540)=[{&(0x7f00000014c0)="9f2438aa09f1ecddfef7a10324877995d8aed5d3bf4e2f70534258ee15f73a30e887522bf12aa56f9134d6d48a898269742f7146d37f5dba1a2c0e85a8fc6439680653bfe821a96bb3613cd1b2e36260becb", 0x52}], 0x1, &(0x7f0000001900)=[@cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff, 0x0, r1}}}, @rights={{0x34, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2, r3, r4, 0xffffffffffffffff, r5, r6, r7]}}, @cred={{0x1c, 0x1, 0x2, {r8, 0xee00, r9}}}], 0x78, 0x1}, 0x800) r10 = socket$nl_generic(0x10, 0x3, 0x10) r11 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_WDS_PEER(r10, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)=ANY=[@ANYBLOB='I\x00\x00\x00', @ANYRES16=r11, @ANYBLOB="0106000000150000294c421800000c0003990000000000000000000a0006090000000000000000"], 0x2c}}, 0x0) sendmsg$WG_CMD_SET_DEVICE(r10, &(0x7f0000001400)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f00000013c0)={&(0x7f00000019c0)={0x126c, 0x0, 0x800, 0x70bd2b, 0x25dfdbfc, {}, [@WGDEVICE_A_PEERS={0x938, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e21, @multicast1}}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e24, @loopback}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "0eb09ab93edec1b19dfe2709074e8eaff58e3542ddd71ffcd91f9b340b2bd9dd"}]}, {0xd4, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @a_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7c4294ba8510fb5af5dbd5d3d8a6189657b0b747ceb19ce9c3e063be39a4d76d"}, @WGPEER_A_FLAGS={0x8, 0x3, 0x6}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @empty}}]}, {0x54, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PUBLIC_KEY={0x24}]}, {0x38, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x3}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "6fa67fa16427ba004bd6cacd70dfd298211982bf55bae742e9609862d904b5c7"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x4}]}, {0x84, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_FLAGS={0x8, 0x3, 0x4}, @WGPEER_A_FLAGS={0x8, 0x3, 0x5}, @WGPEER_A_ALLOWEDIPS={0x20, 0x9, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5, 0x3, 0x1}}]}]}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e23, @empty}}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "83bfcccc3ecd37dfb2b7b6476378bf25b5ad8df295d797b00af917f43b8f221e"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x9}, @WGPEER_A_FLAGS={0x8, 0x3, 0x3}]}, {0x6f8, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x130, 0x9, 0x0, 0x1, [{0xd0, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private1={0xfc, 0x1, '\x00', 0x1}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x2d}}, {0x5, 0x3, 0x3}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x13}}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x1}, @WGPEER_A_ALLOWEDIPS={0x554, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x3}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @broadcast}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, '\x00', 0x44}}, {0x5}}]}, {0xf4, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}}, {0x5, 0x3, 0x2}}]}, {0xc4, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x2}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x17}}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x1}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x3}}]}, {0x58, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}]}, {0xdc, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x22}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x1, 0x0}}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}]}, {0xb8, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010100}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5, 0x3, 0x2}}]}]}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e20, 0x100, @remote, 0x6}}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @multicast2}}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}]}, @WGDEVICE_A_PEERS={0x1f4, 0x8, 0x0, 0x1, [{0x1c8, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x168, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010100}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e23, @local}}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x3}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e23, 0x8000, @private0={0xfc, 0x0, '\x00', 0x1}, 0x2}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x3}, @WGPEER_A_FLAGS={0x8, 0x3, 0x2}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e21, @dev={0xac, 0x14, 0x14, 0x2d}}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}]}, @WGDEVICE_A_PEERS={0x2d0, 0x8, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x5}]}, {0xc, 0x0, 0x0, 0x1, [@WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x1}]}, {0xc, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x6}]}, {0x14, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6}]}, {0xb0, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0xa4, 0x9, 0x0, 0x1, [{0xa0, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x1}}]}]}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x7ff}]}, {0x34, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x2}, @WGPEER_A_FLAGS={0x8, 0x3, 0x3}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e24, 0xfb0c, @rand_addr=' \x01\x00', 0x200}}]}, {0x1b0, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "96efd8d3639c455584326aea86743bbc867f20b46ca9e01a6270e68d31e2b4fd"}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_ALLOWEDIPS={0x140, 0x9, 0x0, 0x1, [{0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @empty}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5, 0x3, 0x2}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}]}, {0x70, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x1}}]}, {0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "0814f69618bd9f5856fb55576334594468ff07c611acb0b6e1ee126279f52601"}]}]}, @WGDEVICE_A_PEERS={0x438, 0x8, 0x0, 0x1, [{0x48, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e20, 0x2, @loopback, 0x19b}}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}, {0x3a0, 0x0, 0x0, 0x1, [@WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x7f}, @WGPEER_A_ALLOWEDIPS={0x394, 0x9, 0x0, 0x1, [{0x10c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x26}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}]}, {0x118, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @remote}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private1={0xfc, 0x1, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @loopback}}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, '\x00', 0x1}}, {0x5, 0x3, 0x3}}]}, {0x100, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, '\x00', 0x27}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @local}}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5, 0x3, 0x2}}]}, {0x4}]}]}, {0x4c, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7a5c3ac756884983f827fc99b6b826ce84b37bdc33a7bb2392dea88547908765"}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7ed53d5f4e34a936ac251ca2a2ca46e355a24faf536ede557ac4e5376e3f9cae"}]}]}, @WGDEVICE_A_FWMARK={0x8, 0x7, 0x2}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg2\x00'}]}, 0x126c}, 0x1, 0x0, 0x0, 0x4068090}, 0x8000) socket(0x10, 0x2, 0x0) (async) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) (async) setregid(0x0, r1) (async) syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) (async) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r2, 0x0) (async) openat$vim2m(0xffffffffffffff9c, &(0x7f0000001580), 0x2, 0x0) (async) openat$selinux_attr(0xffffffffffffff9c, &(0x7f00000015c0)='/proc/self/attr/keycreate\x00', 0x2, 0x0) (async) syz_mount_image$ocfs2(&(0x7f0000001600), &(0x7f0000001640)='./file0\x00', 0x9, 0x2, &(0x7f00000017c0)=[{&(0x7f0000001680)="fa2b3d8167549ac16549f298b4742bd572b43db6c448f2a4ebb6aadbb56bfa864c5b9aa346a569180f0613f09fcb67033dcd0cfa102680389ad25b113f38075a6cc22706bb4a57c961dd01265d3b47526b6fe73ad8242290204c705178c4cf25d12006fe1eda497acd5ce7574aabd682dc7a653e24d1a66580123e51a29aa9aded08769a078a31987e79a60b57f17275770b8d6894658e82f70319742cec06ff269f1a574e31dc1e22b0f34943ac2e45268e7aaf6b2e72dc5d3a41a5baefe5182bc5722a", 0xc4, 0x8}, {&(0x7f0000001780)="a1d17d44b780517da3b1", 0xa, 0x7}], 0x20a0, &(0x7f0000001800)={[{'\xd1s(\x99\xf6\x11\xcd\x89\x94\x03M\x7fA=\xc9Wc\x0eT\x93\xc2\x85\xac\xa4\x00e\xcbc\x11\xbeik'}, {'{{*/$'}, {'wg2\x00'}], [{@smackfsroot={'smackfsroot', 0x3d, '\x00'}}, {@func={'func', 0x3d, 'BPRM_CHECK'}}]}) (async) syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) (async) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r6, 0x0) (async) syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) (async) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r7, 0x0) (async) syz_clone(0x22000200, 0x0, 0x0, 0x0, 0x0, 0x0) (async) tgkill(r8, r8, 0xb) (async) fstat(0xffffffffffffffff, &(0x7f0000001880)) (async) sendmsg$unix(0xffffffffffffffff, &(0x7f0000001980)={&(0x7f0000001440)=@abs={0x0, 0x0, 0x4e21}, 0x6e, &(0x7f0000001540)=[{&(0x7f00000014c0)="9f2438aa09f1ecddfef7a10324877995d8aed5d3bf4e2f70534258ee15f73a30e887522bf12aa56f9134d6d48a898269742f7146d37f5dba1a2c0e85a8fc6439680653bfe821a96bb3613cd1b2e36260becb", 0x52}], 0x1, &(0x7f0000001900)=[@cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff, 0x0, r1}}}, @rights={{0x34, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2, r3, r4, 0xffffffffffffffff, r5, r6, r7]}}, @cred={{0x1c, 0x1, 0x2, {r8, 0xee00, r9}}}], 0x78, 0x1}, 0x800) (async) socket$nl_generic(0x10, 0x3, 0x10) (async) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) (async) sendmsg$NL80211_CMD_SET_WDS_PEER(r10, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)=ANY=[@ANYBLOB='I\x00\x00\x00', @ANYRES16=r11, @ANYBLOB="0106000000150000294c421800000c0003990000000000000000000a0006090000000000000000"], 0x2c}}, 0x0) (async) sendmsg$WG_CMD_SET_DEVICE(r10, &(0x7f0000001400)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f00000013c0)={&(0x7f00000019c0)={0x126c, 0x0, 0x800, 0x70bd2b, 0x25dfdbfc, {}, [@WGDEVICE_A_PEERS={0x938, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e21, @multicast1}}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e24, @loopback}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "0eb09ab93edec1b19dfe2709074e8eaff58e3542ddd71ffcd91f9b340b2bd9dd"}]}, {0xd4, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @a_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7c4294ba8510fb5af5dbd5d3d8a6189657b0b747ceb19ce9c3e063be39a4d76d"}, @WGPEER_A_FLAGS={0x8, 0x3, 0x6}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @empty}}]}, {0x54, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PUBLIC_KEY={0x24}]}, {0x38, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x3}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "6fa67fa16427ba004bd6cacd70dfd298211982bf55bae742e9609862d904b5c7"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x4}]}, {0x84, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_FLAGS={0x8, 0x3, 0x4}, @WGPEER_A_FLAGS={0x8, 0x3, 0x5}, @WGPEER_A_ALLOWEDIPS={0x20, 0x9, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5, 0x3, 0x1}}]}]}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e23, @empty}}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "83bfcccc3ecd37dfb2b7b6476378bf25b5ad8df295d797b00af917f43b8f221e"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x9}, @WGPEER_A_FLAGS={0x8, 0x3, 0x3}]}, {0x6f8, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x130, 0x9, 0x0, 0x1, [{0xd0, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private1={0xfc, 0x1, '\x00', 0x1}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x2d}}, {0x5, 0x3, 0x3}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x13}}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x1}, @WGPEER_A_ALLOWEDIPS={0x554, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x3}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @broadcast}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, '\x00', 0x44}}, {0x5}}]}, {0xf4, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}}, {0x5, 0x3, 0x2}}]}, {0xc4, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x2}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x17}}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x1}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x3}}]}, {0x58, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}]}, {0xdc, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x22}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x1, 0x0}}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}]}, {0xb8, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010100}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5, 0x3, 0x2}}]}]}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e20, 0x100, @remote, 0x6}}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @multicast2}}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}]}, @WGDEVICE_A_PEERS={0x1f4, 0x8, 0x0, 0x1, [{0x1c8, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x168, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010100}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e23, @local}}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x3}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e23, 0x8000, @private0={0xfc, 0x0, '\x00', 0x1}, 0x2}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x3}, @WGPEER_A_FLAGS={0x8, 0x3, 0x2}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e21, @dev={0xac, 0x14, 0x14, 0x2d}}}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}]}, @WGDEVICE_A_PEERS={0x2d0, 0x8, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x5}]}, {0xc, 0x0, 0x0, 0x1, [@WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x1}]}, {0xc, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x6}]}, {0x14, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6}]}, {0xb0, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0xa4, 0x9, 0x0, 0x1, [{0xa0, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x1}}]}]}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x7ff}]}, {0x34, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8, 0x3, 0x2}, @WGPEER_A_FLAGS={0x8, 0x3, 0x3}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e24, 0xfb0c, @rand_addr=' \x01\x00', 0x200}}]}, {0x1b0, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "96efd8d3639c455584326aea86743bbc867f20b46ca9e01a6270e68d31e2b4fd"}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_ALLOWEDIPS={0x140, 0x9, 0x0, 0x1, [{0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @empty}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5, 0x3, 0x2}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}]}, {0x70, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x1}}]}, {0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "0814f69618bd9f5856fb55576334594468ff07c611acb0b6e1ee126279f52601"}]}]}, @WGDEVICE_A_PEERS={0x438, 0x8, 0x0, 0x1, [{0x48, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e20, 0x2, @loopback, 0x19b}}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}, {0x3a0, 0x0, 0x0, 0x1, [@WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x7f}, @WGPEER_A_ALLOWEDIPS={0x394, 0x9, 0x0, 0x1, [{0x10c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x26}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5, 0x3, 0x2}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}]}, {0x118, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @remote}}, {0x5, 0x3, 0x3}}, @ipv6={{0x6}, {0x14, 0x2, @private1={0xfc, 0x1, '\x00', 0x1}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5, 0x3, 0x1}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @loopback}}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, '\x00', 0x1}}, {0x5, 0x3, 0x3}}]}, {0x100, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, '\x00', 0x27}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5, 0x3, 0x3}}, @ipv4={{0x6}, {0x8, 0x2, @private=0xa010102}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @local}}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5, 0x3, 0x3}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5, 0x3, 0x2}}]}, {0x4}]}]}, {0x4c, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7a5c3ac756884983f827fc99b6b826ce84b37bdc33a7bb2392dea88547908765"}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "7ed53d5f4e34a936ac251ca2a2ca46e355a24faf536ede557ac4e5376e3f9cae"}]}]}, @WGDEVICE_A_FWMARK={0x8, 0x7, 0x2}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg2\x00'}]}, 0x126c}, 0x1, 0x0, 0x0, 0x4068090}, 0x8000) (async) [ 507.321619][T14405] Mount JFS Failure: -5 [ 507.340963][T14405] jfs_mount failed w/return code = -5 12:44:58 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x1800000000000000) 12:44:59 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x74, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 507.606861][ T25] audit: type=1804 audit(1644497098.994:501): pid=14418 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/798/cgroup.controllers" dev="sda1" ino=1171 res=1 errno=0 12:44:59 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000080)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_START_AP(r2, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000000c0)={&(0x7f0000001180)=ANY=[@ANYBLOB="9c0e0000", @ANYRES16=0x0, @ANYBLOB="000625bd7000ffdbdf250f00000008000300", @ANYRES32=r3, @ANYBLOB="0c009900060000002a0000000d03910065941518c49884ba0ce545bf1f2edf93b1d73b9320afafae483b72b13412b676d40b95284a2033e40689de8b8e8b0c6acc3342698378a8befe9d67abd0f7a5dca2f186981d26332a0424b970e7899af605e10e41e7d9a37282dc6341374d074ea9167226fc4a6bcf1eda4192577994fbff728de320269125ff72d7b5a5d60a03c5408e7fa5c7b0e87cb7bfa55710183d2d98d1cee588ff70f5adc1959633d00cf065d31b717a9876a82b2853ffcc01d60d8fdcfad987cdfdace8b45e866a6e6fca92f73afad69af860eb0d7803feeba32a85bfb3175dd1a7e345e0e26d1a5e1b8e124476ae8002598b071599215af4d70a464baee635b12fb2414c8d300717fd2b3a43e2e06a1d3892bc8ba87851fabb6dd0fc77ad0e6c36ad164afc30898bbb51e35cfc9554ad9f76cd46c99469c819dfcb6ed4fa18a8054a73a19cac1869d2cfc6932ca11410795b4cd020ed8fa9bd6370f89103a9f355bb6d365f029efbdb82df59c1e70c9b8d297fa87cc89f8eff7b9bd9bcf2b560b2184d2b7bae3a498587b5d989a2abd1a155f72e48555182b039ee2fcd762318f167cd833c7d9587845acd6970a152edd010713d229e49dfeef7ca4cb9f64d592c94bf4b78fc3ca5d13c37f09735e665f5061e216e4f36387e8cd30fdfaeb93198339b8cffcc990efb7eb8b68fd84177f5eb9ce6014499dfd00a7b24ad6fb4f4a58778a25fa2954112f27e8e87b089b4fa69d4d6d879d5628b217c979b040c16bb5c7d6c7d4ec3e14550f30cbfd7532c7eecd12001db57bb8fb398b1fa0ead28d6f33e73ebd09d5d15c6098bf0488add51a4dc1bb141e2188f46443f96f4e92450336ccbf37c8df30f527989bc2a8863ff3a002c558ee232acb3bd737a7096bbe4c99c30dc8f7f15630a10c423dc259a663cf7d9b907bba515b9c91f5d024b6ad03ebda2fe3ffb2d24a2c0864de0aa4d1d16203e6ac6178c8d65680f514a44c470ad74b27470a59888046af04904611c7807d551a3f29137a444ca1a10bec60b6568ddd3c644593afebf1b53b5a75fa1ae50f240e40fe4d63b944f879b18d7b16ca2ad317c3514a6cf36dd979628082b9dd0000000fd0080000006010101010101ffc15d43e8442d1d19b791719e0577a769f66f7c39660bca0fa7241da9fa0fc3ccb48d1b39724aa2f70f5f7a1006b4de09d79446c474685c11b87125f9b98f93f0694bb959e043ca89261f001121b60dbf144444764861df4ef036cb96be111684fd5ddf199e838f10ba09ce1d3632b11066c5465798f52e79e4bf3c852be5dadd9385d2718e74dc4df5c07113c5c51c0edd908ee9b891959a518af6d3ff098a4c804109c1f30e6dbf2af65de6d2eef056f17a13fea41324de26e3fe641435c63351002d1a0003100800000000000000100036000b000000000400000080598c1050033738123369c2c4819f7f65949ee60000000c0080000406ff1f0008ff0f07007f000301ae0008000e8004000100b0089100c88af715abe23686d8b49ba9511b410ac8b6f7f4297124fc3662a46d5efeba692d4919d6cfc1f58ed568ea01d4b81be3eaaa9564f831e802591d81f80b0b1e577b125ad3390ab7a20f233b6da7cce1399b8d19ca9c8a203380f92961af24e802030899cb502c9fed59bc8251d189787b56092660a61efe95662445ebac34723bb67426dc6629b93ff4d50624ce99194f096db2775536905540745e9e07078acc9bee00f93c95aebf1a591575bb73a2a225755adadb6b53cad1ddcd7925ed54e3a0c5eb51882b531779a7dfc6ca344b1cb75717004193dd26040ccdcb415a5c5dcd873f0c863ef822941f95d779365f54a8e5823bd73f98c70dca6449031b76f296ca328e74e72ae9b99d6f3187a8fb102b718507d87896c4a11226e54b492aa085d9bdacd33248b842fad70cca70b62c8f2702a96ac02a40482f492ecb5edf3be4fbcc4c71b7462d46d065e2d75afc552212d06ceabe07148128c2bffcb786ea08b8c34b7cadf0e679d8921e902909a73e88347ea52dc025c0ca4af72d1e7f39ec6aceec7cb5fb8e234fddd7814785fd328a732f67b3a9fa48b5c814918dc310adef40a067ac270b683f1972c2e52e6dcbff0335c06fe6ae9d5670d4ced9c75f5fb5ddbb3772917de297e8416613c21ebb5f15f3cd5d59109210100fd0c8f4730abeffd9df2164acec190f6b65c5f1e9414fbdff68a367c00066953e5f0b9d0ea31e5910bbdbcc1c5b8931354b3113dc3c39026ba1a851ecf243d254f508477a76bf106bb382468fec9d1da3aa13efaab5f48e4cd8539bc3e2cad23ef2b6091f27691b250ed4890d6164154bed2c820b68fbc84a80ebf4a9356d8cfe36c468c4df1a277c4f2144e0c81cd214db3dc24ea100adedbca0a926491d46f11c4b9336f1575f043f9abc968eaacc1faf490169e482cec61e65b754aca548e8e29f9f010f8d5dad391f55b81e842370e172c75e9dc7badd2a87dfa70592a1c897abe7317664ca53625f5d3f6a20a7425d47541e68851584da3607f7a128839576d84f7993e13c7c1d879c4ee59834dfa9e918fde1bc35550f6f77a4204bb81672f0928cd84249f9941663811915db51b201aec284fdf9347b0ea69df929035622a015b4a1288b8b96f4c0cb93d10a9c884125ffd18ec051ff90a94b9bba685efe0771bd32f500158ad07630e278a24b75520bb105aaa4f265a79c96d8c5ad1966641f18d59a8a3d32abd5ad46a49e14a632d49336642100f4e5e5e6f3ef021e5d06de48275fac801f0559ec21202a1061d377225df301c9c469db05c5d7d9977d8f85e664b0ce407d6492fe2511871f42def5c213e0f9486c4133d7e1e1432027675cd0176013368a1a6e598097b032f2a05325baabe36f8122841d0ab517d560dd81418936729239d5c52b477fff04dcfcd582030611a430c682e504aeadc66c6cfac5ed225c9c01367bdfe339be7afca15e5d8cdc7709697bc500d88aeaaa2a7a600d7762b930a60d8b8835e16b696ae5bfd014b71c58e8f00452dba4e1da657cb52fbed1689f73633c9664ab25ce24f0f1b20ceff469b9f191769678b601561260aecf5eba5fce31c3f72009fbf94b7a415b52d7052ce58397c7f118f8941ceeac4b5346cfd4823b75d2841093ad314db0943cb6ab85d4bbc93bb6f35f1cc76af39e8b7919109e4d773c69da23c6c3ff9aede12dfa4f2b720dc76bb110bee3aba3d4dc3a5c4869b121fcf4b3f51f5eeab5fed0c44ed0d63440b776c689cd7d85d6447d1aaf220a3eb812c8d6d4c61f624665c357fd90f7f12a71d08f67e1a47cfde50f61b44ac3867fa069271e8e3834cb978ca7ff8724e1de807284025526e4d3d5c2572fda69c6bb30207fcc48f27f98c9938de69366ae042db0b876e142ba5e52b2503439df843eeaea10838ac47d7a96ecf326770fea075de11cc298beb67dcaf456e989801c73aa8b72c9690205d4e5acc893366e74cebc21235f1e99602ee284de639c20a54f2b98fbb581d541ee7eda1497cf642c86118ced6f92b4a20ae2893dcc36564aecabb3593fd46fd21cf949306c7eb73ae44f0216f4892be21870886c6a2cfa001f546b0ac6b7f0b83fd938fd3a512e4f9815ecf6d152253c32dc5d7c456ed5302162d8a0d6eaa1f4a734387fe4738ce5437eeaa16e5156a448ab1592977bf489ef4f8258afaac0993e11c509a9218bf75d6182ad4846f59504e3f8a0dd8aa1923a5e1822b6f4f5790a8d80a5c6b1fdeee4c6e537552d2573c02100051f20692bd94cacb0bd53dd183c6159c3f564006169439998d7f0f7be4267b8498f28ae8acaeb969f97be391c1309a66c5f5304451c4b35761cf3e363124c4765f93a43fafd039e8c8cca045831429aa0364b8c25f72bcf79d61afe8b71ac4f42b30a32a1c2ebbcb1bb9382a65517d17ea78528e7c082236a5a96e6d080eb5703903aaf7b320558fe103f046c3e6b478d984fb091c7116d649ee2a69d04922008d1bd8da3211c2580a303a0d5d06f93080119299e6cd85537bd9e54949333ad519082c10322ac590d683251f0922ad80fe1c3ed02515a0193179256646e1a4c225113d3adf4511477cca630ab93d5a74670b4bfe24ab124a1ef3379ccbe87a82fc7d1f0b600ac9cbafe748f6cd88479fe951611939caadb149261cfdbfd4cc30d0eb9ea7f02d36ab7261024c256cf0eb8d0b4098c0a3c7099f5bda30cf1d660d646c919bf763dcb01be0f727b2da6d92df960e84827aebc146dce8463abe393ced916cfcb10e23b53039a9778215da075b9c2f43afea4087e4a7949ff704a6dba0727a19b914cf5edd35d9bbbb52cb4eb39feae7e385328b71ca99f334fc249ab2ab9f5ffbd600d22e57424941bdea6b7d836e913b4ae09951258a5aab75aac5f3e5764154a2031950b2d70708ddc6419d047bda65224c34d9793156a601a97433cdbc30d56bc64c74a084b953ea717867480626bc2e148e6caf2e26288f151edb446e4e0442252fb8b90282101f6078ca354b73434eb4d0b0b5519d817ee1610798aa000e21f028abf52fb0decc3556c2f9ab048e08481b3fd1ca629a54f6fec42714643ea225e268eea37ad9a727b278743b7fe855c75202fe482339d2dabf84d628bc294d45e79684b88010e80dd00020077390ea97a1343fa59dae0daa62f9e674dbe2595449f3d84965d0817b6cd0d0b6dbee7c7c312e1b6c0ae08fc92ae257df9ac82d6e0b5822102d076ea6280f6b6dfec2a8cd9e33de3ff96416a205ac20bd7acff7160c52994fefac289d854e4663f25986e8a8b2bf2fdf15ce5e0f45480c3f0abaa22d38c9c0054d5a8a83093ec6d8b1ec32103aaf1a54f285eb0e94401248488e861ebe96ac7b3d11bf95307dee550b89a5a1099e025bb54ae48970f6557d9e08df9b53d5d45ab02effef8d4668cf15ae3b31a1d15b76a2838e5a77f0247a59af5fb4e592ec7000000a4000200015491f50fc34d5a08b7f53443a243f878f9b8aa22167395be505ab7172c410f5ef6286d6fe8f0db3726e40c8812b6421e587a0d7961a12368bdb0aaef9277e4a7f457fb962e395de090873369edfd9627cbe3fbb3c982215332ee54e22a8c0e0dc5215a3eeb4e830684adb40ab93c96c681f0cf66dfdd7ed55c21f4e1e0d91db745d55007efaa3e73946f442f44e07b8502d1718d5b5ee8c6aeb31d11d01af30500a200e10000000500a30000000000"], 0xe9c}, 0x1, 0x0, 0x0, 0x4010}, 0x4044118) (async) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000180)=ANY=[@ANYBLOB="3403088b", @ANYRES16=r4, @ANYBLOB="010000000000000000003b00000008000300", @ANYRESDEC=r1, @ANYBLOB="1e003300a0000000ff0000000003cbc2ed6813f346505050505000000000040048bf8f6ee9901eaa5768089d2e0d6dc63aa2de2ae68ce208ada82f1a5bfed72dcb9e24e129d3f9d7e9719d4246cdd9fbec048ed22b6934182fb4f11e3cd326bc53acf1326c7066f746b8d6b92143aab98f284296bc35f0c3acb5dc37c4d2b04f8bad34ec2dd3ad96dc17a21f014ce1262e7d127453009706026e09161abaa9240ab367a0f52fd03a745cfbf0585bdb236a8d9b9f028a909c5d28088ea8c6d80e317443f6489620c38978b1c5e20be7b0190fcd6979498dd2d553b163"], 0x3c}}, 0x40) 12:44:59 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x8cffffff00000000) [ 507.711770][T14422] loop3: detected capacity change from 0 to 128 [ 507.827761][T14422] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 507.863099][T14422] Mount JFS Failure: -5 12:44:59 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080), 0xffffffffffffffff) (async, rerun: 64) r4 = fsmount(r0, 0x0, 0x2) (rerun: 64) write$cgroup_type(r4, &(0x7f0000000380), 0x9) (async) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000240)={0x128, r5, 0x0, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc, 0x99, {0x80000000, 0x11}}}}, [@NL80211_ATTR_FRAME={0xfd, 0x33, @probe_request={@wo_ht={{}, {}, @device_b, @broadcast, @random="2ccc32cbdbfc"}, @val, @val, @val={0x3, 0x1}, @val={0x2d, 0x1a, {0x1000, 0x3, 0x4, 0x0, {0xf7a8, 0x4, 0x0, 0x5}, 0x300, 0x19, 0x1}}, @void, [{0xdd, 0x3a, "cf1ec6737e57da01c509235853f4bd3620b3f2a590e93b410f861e2a046281f913fd63974dfd4a20140a979c45ce8782fb80cf37a5e21abb4286"}, {0xdd, 0x80, "69f4ac01b0cd1edc8a2aa8b6f6b94c27b80ce834fa0aa653282b1341c5983575db253d7b78470cd75589b333e40c6210a1eb2b81078c4786477bfe240d724797230fec2a97e4a2154b93d3ce28e242dedbbbb2be0adb2402adae8d2812b8fc5482443876aea7804ea9e6b2990c8ba791cb13ec3e7dce8a3feca3c5e2edc72981"}]}}]}, 0x128}, 0x1, 0x0, 0x0, 0x2}, 0x0) (async, rerun: 32) sendmsg$NL80211_CMD_FRAME(0xffffffffffffffff, &(0x7f0000001280)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000040)=ANY=[@ANYBLOB="48040000", @ANYRES16=r5, @ANYBLOB="01edff000000000004003b1c210008000300", @ANYRES32=r2, @ANYBLOB="2c0433005000de295b3acba52ee4080211000001505050505050"], 0x448}}, 0x0) (async, rerun: 32) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000003, 0x28011, r0, 0x0) openat$cgroup_int(0xffffffffffffffff, &(0x7f0000000100)='memory.max\x00', 0x2, 0x0) (async, rerun: 32) r6 = openat$hwrng(0xffffffffffffff9c, &(0x7f00000003c0), 0x1001, 0x0) (async, rerun: 32) ioctl$sock_SIOCGIFINDEX_80211(r4, 0x8933, &(0x7f0000000480)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r6, &(0x7f0000000540)={&(0x7f0000000400)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000500)={&(0x7f00000004c0)={0x38, r3, 0x300, 0x70bd2b, 0x25dfdbfc, {{}, {@val={0x8, 0x3, r7}, @val={0xc, 0x99, {0x6, 0x33}}}}, [@chandef_params=[@NL80211_ATTR_WIPHY_EDMG_BW_CONFIG={0x5, 0x119, 0xd}], @NL80211_ATTR_CH_SWITCH_COUNT={0x8, 0xb7, 0xb9}]}, 0x38}, 0x1, 0x0, 0x0, 0x20000000}, 0x20008841) sendmsg$NL80211_CMD_GET_KEY(0xffffffffffffffff, &(0x7f0000000900)={0x0, 0x0, &(0x7f00000008c0)={&(0x7f0000000580)={0x28, 0x0, 0xa1, 0x0, 0x0, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_MAC={0xa}]}, 0x28}}, 0x0) (async) sendmsg$NL80211_CMD_TDLS_OPER(0xffffffffffffffff, &(0x7f00000006c0)={&(0x7f00000005c0)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000680)={&(0x7f0000000600)={0x6c, 0x0, 0x100, 0x70bd26, 0x25dfdbfe, {{}, {@void, @val={0xc, 0x99, {0x4, 0x51}}}}, [@NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_TDLS_OPERATION={0x5, 0x8a, 0x3}, @NL80211_ATTR_TDLS_OPERATION={0x5, 0x8a, 0x1}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}]}, 0x6c}, 0x1, 0x0, 0x0, 0x4084}, 0x8014) (async) r8 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) (async) r9 = socket$nl_generic(0x10, 0x3, 0x10) sendfile(r9, r8, 0x0, 0x10000a006) [ 507.902073][T14422] jfs_mount failed w/return code = -5 12:44:59 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xeaffffff00000000) 12:44:59 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x7a, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 508.122396][T14438] loop3: detected capacity change from 0 to 128 [ 508.222747][T14438] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 508.230355][T14438] Mount JFS Failure: -5 12:44:59 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xf6ffffff00000000) [ 508.246697][ T25] audit: type=1804 audit(1644497099.634:502): pid=14444 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/799/cgroup.controllers" dev="sda1" ino=1165 res=1 errno=0 [ 508.258221][T14438] jfs_mount failed w/return code = -5 12:44:59 executing program 0: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x60, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:44:59 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xfeffffff00000000) 12:44:59 executing program 0: syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 12:45:00 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xfe, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:00 executing program 0: syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) (async) 12:45:00 executing program 2: r0 = syz_open_dev$evdev(&(0x7f0000000480), 0x0, 0x48500) ioctl$EVIOCREVOKE(0xffffffffffffffff, 0x40044591, &(0x7f00000000c0)=0x2) ioctl$EVIOCGMASK(r0, 0x80104592, &(0x7f0000000100)={0x2, 0xdf, &(0x7f0000000200)="cf2825200528835fd30095ad0b204425499b2ef5ae17a7092ea68bcafca64c7e0702727e8f3d06b2e23756cadb83e2a910c5bcbde7567529ee9e99d448a8ccd56bb8776e21cec2dc479484faa3555529a91a0ba4abece6b4877cc19aa2c501bc780d9e23280ab614f63ac942da8cd6e5dfc9280e77d3a412d509dbb007c4670ae491e037d311cf2a6cf66f2f6c869d3e007b89eee3f20b36c706deea850e711cec7dc7d36642765e75848c53a37cf6e770c7fbe20e12ad32590b493ed1aad33ea6f1556fe4b3a55adf76aadfe6e3a709dd08b0a1e64e310db4bbbe8165037e"}) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000000)=ANY=[], 0x208e24b) clock_gettime(0x0, &(0x7f0000000000)={0x0, 0x0}) ioctl$INCFS_IOC_GET_FILLED_BLOCKS(r1, 0x80286722, &(0x7f0000000300)={&(0x7f0000000140)=""/89, 0x59, 0x4, 0x7}) clock_gettime(0x0, &(0x7f0000000040)={0x0, 0x0}) write$evdev(r1, &(0x7f0000000080)=[{{r2, r3/1000+60000}, 0x4, 0x1e, 0x48df}, {{r4, r5/1000+60000}, 0x1f, 0x5, 0xff}], 0x30) [ 508.746192][T14457] loop3: detected capacity change from 0 to 128 [ 508.792103][ T25] audit: type=1400 audit(1644497100.184:503): avc: denied { append } for pid=14458 comm="syz-executor.2" name="event0" dev="devtmpfs" ino=831 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:event_device_t tclass=chr_file permissive=1 [ 508.840885][T14457] jfs_mount: diMount(ipaimap) failed w/rc = -5 12:45:00 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000080)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_START_AP(r2, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000000c0)={&(0x7f0000001180)=ANY=[@ANYBLOB="9c0e0000", @ANYRES16=0x0, @ANYBLOB="000625bd7000ffdbdf250f00000008000300", @ANYRES32=r3, @ANYBLOB="0c009900060000002a0000000d03910065941518c49884ba0ce545bf1f2edf93b1d73b9320afafae483b72b13412b676d40b95284a2033e40689de8b8e8b0c6acc3342698378a8befe9d67abd0f7a5dca2f186981d26332a0424b970e7899af605e10e41e7d9a37282dc6341374d074ea9167226fc4a6bcf1eda4192577994fbff728de320269125ff72d7b5a5d60a03c5408e7fa5c7b0e87cb7bfa55710183d2d98d1cee588ff70f5adc1959633d00cf065d31b717a9876a82b2853ffcc01d60d8fdcfad987cdfdace8b45e866a6e6fca92f73afad69af860eb0d7803feeba32a85bfb3175dd1a7e345e0e26d1a5e1b8e124476ae8002598b071599215af4d70a464baee635b12fb2414c8d300717fd2b3a43e2e06a1d3892bc8ba87851fabb6dd0fc77ad0e6c36ad164afc30898bbb51e35cfc9554ad9f76cd46c99469c819dfcb6ed4fa18a8054a73a19cac1869d2cfc6932ca11410795b4cd020ed8fa9bd6370f89103a9f355bb6d365f029efbdb82df59c1e70c9b8d297fa87cc89f8eff7b9bd9bcf2b560b2184d2b7bae3a498587b5d989a2abd1a155f72e48555182b039ee2fcd762318f167cd833c7d9587845acd6970a152edd010713d229e49dfeef7ca4cb9f64d592c94bf4b78fc3ca5d13c37f09735e665f5061e216e4f36387e8cd30fdfaeb93198339b8cffcc990efb7eb8b68fd84177f5eb9ce6014499dfd00a7b24ad6fb4f4a58778a25fa2954112f27e8e87b089b4fa69d4d6d879d5628b217c979b040c16bb5c7d6c7d4ec3e14550f30cbfd7532c7eecd12001db57bb8fb398b1fa0ead28d6f33e73ebd09d5d15c6098bf0488add51a4dc1bb141e2188f46443f96f4e92450336ccbf37c8df30f527989bc2a8863ff3a002c558ee232acb3bd737a7096bbe4c99c30dc8f7f15630a10c423dc259a663cf7d9b907bba515b9c91f5d024b6ad03ebda2fe3ffb2d24a2c0864de0aa4d1d16203e6ac6178c8d65680f514a44c470ad74b27470a59888046af04904611c7807d551a3f29137a444ca1a10bec60b6568ddd3c644593afebf1b53b5a75fa1ae50f240e40fe4d63b944f879b18d7b16ca2ad317c3514a6cf36dd979628082b9dd0000000fd0080000006010101010101ffc15d43e8442d1d19b791719e0577a769f66f7c39660bca0fa7241da9fa0fc3ccb48d1b39724aa2f70f5f7a1006b4de09d79446c474685c11b87125f9b98f93f0694bb959e043ca89261f001121b60dbf144444764861df4ef036cb96be111684fd5ddf199e838f10ba09ce1d3632b11066c5465798f52e79e4bf3c852be5dadd9385d2718e74dc4df5c07113c5c51c0edd908ee9b891959a518af6d3ff098a4c804109c1f30e6dbf2af65de6d2eef056f17a13fea41324de26e3fe641435c63351002d1a0003100800000000000000100036000b000000000400000080598c1050033738123369c2c4819f7f65949ee60000000c0080000406ff1f0008ff0f07007f000301ae0008000e8004000100b0089100c88af715abe23686d8b49ba9511b410ac8b6f7f4297124fc3662a46d5efeba692d4919d6cfc1f58ed568ea01d4b81be3eaaa9564f831e802591d81f80b0b1e577b125ad3390ab7a20f233b6da7cce1399b8d19ca9c8a203380f92961af24e802030899cb502c9fed59bc8251d189787b56092660a61efe95662445ebac34723bb67426dc6629b93ff4d50624ce99194f096db2775536905540745e9e07078acc9bee00f93c95aebf1a591575bb73a2a225755adadb6b53cad1ddcd7925ed54e3a0c5eb51882b531779a7dfc6ca344b1cb75717004193dd26040ccdcb415a5c5dcd873f0c863ef822941f95d779365f54a8e5823bd73f98c70dca6449031b76f296ca328e74e72ae9b99d6f3187a8fb102b718507d87896c4a11226e54b492aa085d9bdacd33248b842fad70cca70b62c8f2702a96ac02a40482f492ecb5edf3be4fbcc4c71b7462d46d065e2d75afc552212d06ceabe07148128c2bffcb786ea08b8c34b7cadf0e679d8921e902909a73e88347ea52dc025c0ca4af72d1e7f39ec6aceec7cb5fb8e234fddd7814785fd328a732f67b3a9fa48b5c814918dc310adef40a067ac270b683f1972c2e52e6dcbff0335c06fe6ae9d5670d4ced9c75f5fb5ddbb3772917de297e8416613c21ebb5f15f3cd5d59109210100fd0c8f4730abeffd9df2164acec190f6b65c5f1e9414fbdff68a367c00066953e5f0b9d0ea31e5910bbdbcc1c5b8931354b3113dc3c39026ba1a851ecf243d254f508477a76bf106bb382468fec9d1da3aa13efaab5f48e4cd8539bc3e2cad23ef2b6091f27691b250ed4890d6164154bed2c820b68fbc84a80ebf4a9356d8cfe36c468c4df1a277c4f2144e0c81cd214db3dc24ea100adedbca0a926491d46f11c4b9336f1575f043f9abc968eaacc1faf490169e482cec61e65b754aca548e8e29f9f010f8d5dad391f55b81e842370e172c75e9dc7badd2a87dfa70592a1c897abe7317664ca53625f5d3f6a20a7425d47541e68851584da3607f7a128839576d84f7993e13c7c1d879c4ee59834dfa9e918fde1bc35550f6f77a4204bb81672f0928cd84249f9941663811915db51b201aec284fdf9347b0ea69df929035622a015b4a1288b8b96f4c0cb93d10a9c884125ffd18ec051ff90a94b9bba685efe0771bd32f500158ad07630e278a24b75520bb105aaa4f265a79c96d8c5ad1966641f18d59a8a3d32abd5ad46a49e14a632d49336642100f4e5e5e6f3ef021e5d06de48275fac801f0559ec21202a1061d377225df301c9c469db05c5d7d9977d8f85e664b0ce407d6492fe2511871f42def5c213e0f9486c4133d7e1e1432027675cd0176013368a1a6e598097b032f2a05325baabe36f8122841d0ab517d560dd81418936729239d5c52b477fff04dcfcd582030611a430c682e504aeadc66c6cfac5ed225c9c01367bdfe339be7afca15e5d8cdc7709697bc500d88aeaaa2a7a600d7762b930a60d8b8835e16b696ae5bfd014b71c58e8f00452dba4e1da657cb52fbed1689f73633c9664ab25ce24f0f1b20ceff469b9f191769678b601561260aecf5eba5fce31c3f72009fbf94b7a415b52d7052ce58397c7f118f8941ceeac4b5346cfd4823b75d2841093ad314db0943cb6ab85d4bbc93bb6f35f1cc76af39e8b7919109e4d773c69da23c6c3ff9aede12dfa4f2b720dc76bb110bee3aba3d4dc3a5c4869b121fcf4b3f51f5eeab5fed0c44ed0d63440b776c689cd7d85d6447d1aaf220a3eb812c8d6d4c61f624665c357fd90f7f12a71d08f67e1a47cfde50f61b44ac3867fa069271e8e3834cb978ca7ff8724e1de807284025526e4d3d5c2572fda69c6bb30207fcc48f27f98c9938de69366ae042db0b876e142ba5e52b2503439df843eeaea10838ac47d7a96ecf326770fea075de11cc298beb67dcaf456e989801c73aa8b72c9690205d4e5acc893366e74cebc21235f1e99602ee284de639c20a54f2b98fbb581d541ee7eda1497cf642c86118ced6f92b4a20ae2893dcc36564aecabb3593fd46fd21cf949306c7eb73ae44f0216f4892be21870886c6a2cfa001f546b0ac6b7f0b83fd938fd3a512e4f9815ecf6d152253c32dc5d7c456ed5302162d8a0d6eaa1f4a734387fe4738ce5437eeaa16e5156a448ab1592977bf489ef4f8258afaac0993e11c509a9218bf75d6182ad4846f59504e3f8a0dd8aa1923a5e1822b6f4f5790a8d80a5c6b1fdeee4c6e537552d2573c02100051f20692bd94cacb0bd53dd183c6159c3f564006169439998d7f0f7be4267b8498f28ae8acaeb969f97be391c1309a66c5f5304451c4b35761cf3e363124c4765f93a43fafd039e8c8cca045831429aa0364b8c25f72bcf79d61afe8b71ac4f42b30a32a1c2ebbcb1bb9382a65517d17ea78528e7c082236a5a96e6d080eb5703903aaf7b320558fe103f046c3e6b478d984fb091c7116d649ee2a69d04922008d1bd8da3211c2580a303a0d5d06f93080119299e6cd85537bd9e54949333ad519082c10322ac590d683251f0922ad80fe1c3ed02515a0193179256646e1a4c225113d3adf4511477cca630ab93d5a74670b4bfe24ab124a1ef3379ccbe87a82fc7d1f0b600ac9cbafe748f6cd88479fe951611939caadb149261cfdbfd4cc30d0eb9ea7f02d36ab7261024c256cf0eb8d0b4098c0a3c7099f5bda30cf1d660d646c919bf763dcb01be0f727b2da6d92df960e84827aebc146dce8463abe393ced916cfcb10e23b53039a9778215da075b9c2f43afea4087e4a7949ff704a6dba0727a19b914cf5edd35d9bbbb52cb4eb39feae7e385328b71ca99f334fc249ab2ab9f5ffbd600d22e57424941bdea6b7d836e913b4ae09951258a5aab75aac5f3e5764154a2031950b2d70708ddc6419d047bda65224c34d9793156a601a97433cdbc30d56bc64c74a084b953ea717867480626bc2e148e6caf2e26288f151edb446e4e0442252fb8b90282101f6078ca354b73434eb4d0b0b5519d817ee1610798aa000e21f028abf52fb0decc3556c2f9ab048e08481b3fd1ca629a54f6fec42714643ea225e268eea37ad9a727b278743b7fe855c75202fe482339d2dabf84d628bc294d45e79684b88010e80dd00020077390ea97a1343fa59dae0daa62f9e674dbe2595449f3d84965d0817b6cd0d0b6dbee7c7c312e1b6c0ae08fc92ae257df9ac82d6e0b5822102d076ea6280f6b6dfec2a8cd9e33de3ff96416a205ac20bd7acff7160c52994fefac289d854e4663f25986e8a8b2bf2fdf15ce5e0f45480c3f0abaa22d38c9c0054d5a8a83093ec6d8b1ec32103aaf1a54f285eb0e94401248488e861ebe96ac7b3d11bf95307dee550b89a5a1099e025bb54ae48970f6557d9e08df9b53d5d45ab02effef8d4668cf15ae3b31a1d15b76a2838e5a77f0247a59af5fb4e592ec7000000a4000200015491f50fc34d5a08b7f53443a243f878f9b8aa22167395be505ab7172c410f5ef6286d6fe8f0db3726e40c8812b6421e587a0d7961a12368bdb0aaef9277e4a7f457fb962e395de090873369edfd9627cbe3fbb3c982215332ee54e22a8c0e0dc5215a3eeb4e830684adb40ab93c96c681f0cf66dfdd7ed55c21f4e1e0d91db745d55007efaa3e73946f442f44e07b8502d1718d5b5ee8c6aeb31d11d01af30500a200e10000000500a30000000000"], 0xe9c}, 0x1, 0x0, 0x0, 0x4010}, 0x4044118) (async) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000180)=ANY=[@ANYBLOB="3403088b", @ANYRES16=r4, @ANYBLOB="010000000000000000003b00000008000300", @ANYRESDEC=r1, @ANYBLOB="1e003300a0000000ff0000000003cbc2ed6813f346505050505000000000040048bf8f6ee9901eaa5768089d2e0d6dc63aa2de2ae68ce208ada82f1a5bfed72dcb9e24e129d3f9d7e9719d4246cdd9fbec048ed22b6934182fb4f11e3cd326bc53acf1326c7066f746b8d6b92143aab98f284296bc35f0c3acb5dc37c4d2b04f8bad34ec2dd3ad96dc17a21f014ce1262e7d127453009706026e09161abaa9240ab367a0f52fd03a745cfbf0585bdb236a8d9b9f028a909c5d28088ea8c6d80e317443f6489620c38978b1c5e20be7b0190fcd6979498dd2d553b163"], 0x3c}}, 0x40) 12:45:00 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0xfffffffffffff000) [ 508.893707][T14457] Mount JFS Failure: -5 [ 508.903803][T14457] jfs_mount failed w/return code = -5 12:45:00 executing program 0: syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) (async) 12:45:00 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x300, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:00 executing program 1: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000000)=ANY=[], 0x208e24b) accept$ax25(r0, 0x0, &(0x7f0000000140)) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus/file0\x00', &(0x7f0000000080), 0x2000800, &(0x7f00000000c0)={[{@metacopy_off}, {@redirect_dir={'redirect_dir', 0x3d, './file1'}}], [{@dont_appraise}, {@appraise}, {@pcr={'pcr', 0x3d, 0x2b}}, {@fowner_lt={'fowner<', 0xffffffffffffffff}}, {@dont_measure}]}) [ 509.146681][T14470] loop3: detected capacity change from 0 to 128 [ 509.207366][T14470] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 509.286035][T14470] Mount JFS Failure: -5 [ 509.294995][T14470] jfs_mount failed w/return code = -5 12:45:00 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x500, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 509.436935][T14479] overlayfs: unrecognized mount option "dont_appraise" or missing value 12:45:00 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) r4 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) ioctl$int_in(r5, 0x5421, &(0x7f0000000300)=0x80000001) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r6, &(0x7f0000000000)=ANY=[], 0x208e24b) r7 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r7, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) write$binfmt_script(r7, &(0x7f0000000000)=ANY=[], 0x208e24b) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(r6, 0xc0189374, &(0x7f0000000140)={{0x1, 0x1, 0x18, r2, {0x5}}, './file0\x00'}) ioctl$KVM_SMI(r4, 0xaeb7) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 509.501645][T14481] loop3: detected capacity change from 0 to 128 [ 509.562636][T14481] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 509.574952][T14481] Mount JFS Failure: -5 [ 509.587851][T14481] jfs_mount failed w/return code = -5 12:45:01 executing program 2: r0 = syz_open_dev$evdev(&(0x7f0000000480), 0x0, 0x48500) ioctl$EVIOCREVOKE(0xffffffffffffffff, 0x40044591, &(0x7f00000000c0)=0x2) ioctl$EVIOCGMASK(r0, 0x80104592, &(0x7f0000000100)={0x2, 0xdf, &(0x7f0000000200)="cf2825200528835fd30095ad0b204425499b2ef5ae17a7092ea68bcafca64c7e0702727e8f3d06b2e23756cadb83e2a910c5bcbde7567529ee9e99d448a8ccd56bb8776e21cec2dc479484faa3555529a91a0ba4abece6b4877cc19aa2c501bc780d9e23280ab614f63ac942da8cd6e5dfc9280e77d3a412d509dbb007c4670ae491e037d311cf2a6cf66f2f6c869d3e007b89eee3f20b36c706deea850e711cec7dc7d36642765e75848c53a37cf6e770c7fbe20e12ad32590b493ed1aad33ea6f1556fe4b3a55adf76aadfe6e3a709dd08b0a1e64e310db4bbbe8165037e"}) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000000)=ANY=[], 0x208e24b) clock_gettime(0x0, &(0x7f0000000000)={0x0, 0x0}) ioctl$INCFS_IOC_GET_FILLED_BLOCKS(r1, 0x80286722, &(0x7f0000000300)={&(0x7f0000000140)=""/89, 0x59, 0x4, 0x7}) clock_gettime(0x0, &(0x7f0000000040)={0x0, 0x0}) write$evdev(r1, &(0x7f0000000080)=[{{r2, r3/1000+60000}, 0x4, 0x1e, 0x48df}, {{r4, r5/1000+60000}, 0x1f, 0x5, 0xff}], 0x30) syz_open_dev$evdev(&(0x7f0000000480), 0x0, 0x48500) (async) ioctl$EVIOCREVOKE(0xffffffffffffffff, 0x40044591, &(0x7f00000000c0)=0x2) (async) ioctl$EVIOCGMASK(r0, 0x80104592, &(0x7f0000000100)={0x2, 0xdf, &(0x7f0000000200)="cf2825200528835fd30095ad0b204425499b2ef5ae17a7092ea68bcafca64c7e0702727e8f3d06b2e23756cadb83e2a910c5bcbde7567529ee9e99d448a8ccd56bb8776e21cec2dc479484faa3555529a91a0ba4abece6b4877cc19aa2c501bc780d9e23280ab614f63ac942da8cd6e5dfc9280e77d3a412d509dbb007c4670ae491e037d311cf2a6cf66f2f6c869d3e007b89eee3f20b36c706deea850e711cec7dc7d36642765e75848c53a37cf6e770c7fbe20e12ad32590b493ed1aad33ea6f1556fe4b3a55adf76aadfe6e3a709dd08b0a1e64e310db4bbbe8165037e"}) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) (async) write$binfmt_script(r1, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) clock_gettime(0x0, &(0x7f0000000000)) (async) ioctl$INCFS_IOC_GET_FILLED_BLOCKS(r1, 0x80286722, &(0x7f0000000300)={&(0x7f0000000140)=""/89, 0x59, 0x4, 0x7}) (async) clock_gettime(0x0, &(0x7f0000000040)) (async) write$evdev(r1, &(0x7f0000000080)=[{{r2, r3/1000+60000}, 0x4, 0x1e, 0x48df}, {{r4, r5/1000+60000}, 0x1f, 0x5, 0xff}], 0x30) (async) 12:45:01 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x600, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 509.725131][ T25] audit: type=1804 audit(1644497101.114:504): pid=14485 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/804/file0" dev="sda1" ino=1182 res=1 errno=0 [ 509.831021][T14487] loop3: detected capacity change from 0 to 128 [ 509.895468][T14487] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 509.928214][T14487] Mount JFS Failure: -5 12:45:01 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) (async) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) (async) creat(&(0x7f0000000040)='./file0\x00', 0x100) (async) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) (async, rerun: 32) r4 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) (async, rerun: 32) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) ioctl$int_in(r5, 0x5421, &(0x7f0000000300)=0x80000001) (async, rerun: 64) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) (rerun: 64) write$binfmt_script(r6, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) r7 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r7, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) write$binfmt_script(r7, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(r6, 0xc0189374, &(0x7f0000000140)={{0x1, 0x1, 0x18, r2, {0x5}}, './file0\x00'}) ioctl$KVM_SMI(r4, 0xaeb7) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 509.948018][T14487] jfs_mount failed w/return code = -5 12:45:01 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000000)=ANY=[], 0x208e24b) sendmsg$DEVLINK_CMD_SB_GET(r1, &(0x7f0000000280)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f0000000240)={&(0x7f0000000140)={0xd4, 0x0, 0x400, 0x70bd2c, 0x25dfdbfc, {}, [{@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0xbf}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x10000}}, {@pci={{0x8}, {0x11}}, {0x8, 0xb, 0x44}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x8}}, {@pci={{0x8}, {0x11}}, {0x8, 0xb, 0x1}}]}, 0xd4}, 0x1, 0x0, 0x0, 0x4008000}, 0x40) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000000)=ANY=[], 0x208e24b) name_to_handle_at(r2, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000300)=@FILEID_INO32_GEN_PARENT={0x10, 0x2, {{0xdd, 0xffffffff}, 0xff, 0x4}}, &(0x7f0000000340), 0x400) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r4, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r3, @ANYBLOB="1e003300a0000000ffffffffffff0802110000013936dfe750500000000000004f2b503a4a2684e298b3470a4fde8329b8ec3ccf4592afac2ca3f72d22c8ae966749ce28a5cbaf5fd8486ffaa843d74512a762f44150f36653996bc749b15c93ec39fe8e2c5ebdc99163ff1adbd5e82aebdf7a59bcbd24958d2bfaaf9075414d25510070d4f866a387d01c00db78ee9ad0117f416a766b6a95a7"], 0x3c}}, 0x0) 12:45:01 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x700, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:01 executing program 1: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000000)=ANY=[], 0x208e24b) accept$ax25(r0, 0x0, &(0x7f0000000140)) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus/file0\x00', &(0x7f0000000080), 0x2000800, &(0x7f00000000c0)={[{@metacopy_off}, {@redirect_dir={'redirect_dir', 0x3d, './file1'}}], [{@dont_appraise}, {@appraise}, {@pcr={'pcr', 0x3d, 0x2b}}, {@fowner_lt={'fowner<', 0xffffffffffffffff}}, {@dont_measure}]}) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) (async) write$binfmt_script(r0, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) accept$ax25(r0, 0x0, &(0x7f0000000140)) (async) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async) chdir(&(0x7f0000000380)='./file0\x00') (async) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) (async) mount$overlay(0x0, &(0x7f0000000040)='./bus/file0\x00', &(0x7f0000000080), 0x2000800, &(0x7f00000000c0)={[{@metacopy_off}, {@redirect_dir={'redirect_dir', 0x3d, './file1'}}], [{@dont_appraise}, {@appraise}, {@pcr={'pcr', 0x3d, 0x2b}}, {@fowner_lt={'fowner<', 0xffffffffffffffff}}, {@dont_measure}]}) (async) [ 510.154634][T14488] syz-executor.2: vmalloc error: size 12288, page order 0, failed to allocate pages, mode:0xdc0(GFP_KERNEL|__GFP_ZERO), nodemask=(null),cpuset=syz2,mems_allowed=0-1 [ 510.168549][ T25] audit: type=1804 audit(1644497101.544:505): pid=14500 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/805/file0" dev="sda1" ino=1156 res=1 errno=0 [ 510.207152][T14503] loop3: detected capacity change from 0 to 128 [ 510.262021][T14503] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 510.266797][T14488] CPU: 0 PID: 14488 Comm: syz-executor.2 Not tainted 5.17.0-rc3-syzkaller-00043-gf4bc5bbb5fef #0 [ 510.278703][T14488] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 510.288775][T14488] Call Trace: [ 510.288984][ T25] audit: type=1804 audit(1644497101.604:506): pid=14500 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/805/file0" dev="sda1" ino=1156 res=1 errno=0 [ 510.292148][T14488] [ 510.292158][T14488] dump_stack_lvl+0xcd/0x134 [ 510.292191][T14488] warn_alloc.cold+0x9b/0x189 [ 510.327273][T14503] Mount JFS Failure: -5 [ 510.330630][T14488] ? zone_watermark_ok_safe+0x290/0x290 [ 510.330663][T14488] ? __vmalloc_node_range+0x7bf/0x1060 [ 510.330692][T14488] __vmalloc_node_range+0xe1e/0x1060 [ 510.351073][T14488] ? vfree_atomic+0xe0/0xe0 [ 510.355601][T14488] ? rcu_read_lock_sched_held+0x3a/0x70 [ 510.358155][T14503] jfs_mount failed w/return code = -5 [ 510.361160][T14488] ? kmem_cache_alloc_node+0x3ce/0x590 [ 510.371964][T14488] ? kernel_clone+0xe7/0xab0 [ 510.376572][T14488] copy_process+0x926/0x7300 [ 510.381176][T14488] ? kernel_clone+0xe7/0xab0 [ 510.385774][T14488] ? lock_chain_count+0x20/0x20 [ 510.390637][T14488] ? lock_chain_count+0x20/0x20 [ 510.395504][T14488] ? find_held_lock+0x2d/0x110 [ 510.400283][T14488] ? __cleanup_sighand+0xb0/0xb0 [ 510.405230][T14488] ? lock_downgrade+0x6e0/0x6e0 [ 510.408011][ T25] audit: type=1804 audit(1644497101.604:507): pid=14500 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/805/file0" dev="sda1" ino=1156 res=1 errno=0 [ 510.410094][T14488] ? __lock_acquire+0x1655/0x5470 [ 510.410122][T14488] ? kernel_clone+0x314/0xab0 [ 510.410144][T14488] kernel_clone+0xe7/0xab0 [ 510.450492][T14488] ? create_io_thread+0xf0/0xf0 [ 510.455355][T14488] ? lockdep_hardirqs_on_prepare+0x400/0x400 [ 510.461354][T14488] ? lockdep_hardirqs_on_prepare+0x400/0x400 [ 510.467353][T14488] ? find_held_lock+0x2d/0x110 [ 510.472126][T14488] __do_sys_clone+0xc8/0x110 [ 510.476727][T14488] ? kernel_clone+0xab0/0xab0 [ 510.481414][T14488] ? lock_downgrade+0x6e0/0x6e0 [ 510.486388][T14488] ? syscall_enter_from_user_mode+0x21/0x70 [ 510.492324][T14488] do_syscall_64+0x35/0xb0 [ 510.496756][T14488] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 510.502663][T14488] RIP: 0033:0x7efc87b3b481 [ 510.507090][T14488] Code: 48 85 ff 74 3d 48 85 f6 74 38 48 83 ee 10 48 89 4e 08 48 89 3e 48 89 d7 4c 89 c2 4d 89 c8 4c 8b 54 24 08 b8 38 00 00 00 0f 05 <48> 85 c0 7c 13 74 01 c3 31 ed 58 5f ff d0 48 89 c7 b8 3c 00 00 00 [ 510.526710][T14488] RSP: 002b:00007fff2bd94c58 EFLAGS: 00000206 ORIG_RAX: 0000000000000038 [ 510.535142][T14488] RAX: ffffffffffffffda RBX: 00007efc863c8700 RCX: 00007efc87b3b481 [ 510.543126][T14488] RDX: 00007efc863c89d0 RSI: 00007efc863c82f0 RDI: 00000000003d0f00 [ 510.551114][T14488] RBP: 00007fff2bd94ea0 R08: 00007efc863c8700 R09: 00007efc863c8700 12:45:01 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x900, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 510.559103][T14488] R10: 00007efc863c89d0 R11: 0000000000000206 R12: 00007fff2bd94d0e [ 510.567085][T14488] R13: 00007fff2bd94d0f R14: 00007efc863c8300 R15: 0000000000022000 [ 510.575073][T14488] [ 510.613154][T14488] Mem-Info: [ 510.637274][T14488] active_anon:4518 inactive_anon:153153 isolated_anon:0 [ 510.637274][T14488] active_file:4370 inactive_file:9063 isolated_file:0 [ 510.637274][T14488] unevictable:768 dirty:1551 writeback:0 [ 510.637274][T14488] slab_reclaimable:22000 slab_unreclaimable:112459 [ 510.637274][T14488] mapped:28165 shmem:6098 pagetables:793 bounce:0 [ 510.637274][T14488] kernel_misc_reclaimable:0 [ 510.637274][T14488] free:1292244 free_pcp:8173 free_cma:0 [ 510.720663][ T4310] I/O error, dev loop3, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0 [ 510.741256][T14511] loop3: detected capacity change from 0 to 128 [ 510.748419][T14488] Node 0 active_anon:18064kB inactive_anon:615836kB active_file:17408kB inactive_file:37452kB unevictable:1536kB isolated(anon):0kB isolated(file):0kB mapped:112660kB dirty:7400kB writeback:0kB shmem:21916kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 524288kB writeback_tmp:0kB kernel_stack:10560kB pagetables:3264kB all_unreclaimable? no [ 510.834879][T14511] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 510.839845][T14513] overlayfs: unrecognized mount option "dont_appraise" or missing value [ 510.874748][T14511] Mount JFS Failure: -5 [ 510.876350][T14488] Node 1 active_anon:8kB inactive_anon:932kB active_file:72kB inactive_file:0kB unevictable:1536kB isolated(anon):0kB isolated(file):0kB mapped:0kB dirty:4kB writeback:0kB shmem:2476kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB kernel_stack:16kB pagetables:8kB all_unreclaimable? no [ 510.897257][T14511] jfs_mount failed w/return code = -5 12:45:02 executing program 1: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000000)=ANY=[], 0x208e24b) (async, rerun: 32) accept$ax25(r0, 0x0, &(0x7f0000000140)) (rerun: 32) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') (async, rerun: 64) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async, rerun: 64) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus/file0\x00', &(0x7f0000000080), 0x2000800, &(0x7f00000000c0)={[{@metacopy_off}, {@redirect_dir={'redirect_dir', 0x3d, './file1'}}], [{@dont_appraise}, {@appraise}, {@pcr={'pcr', 0x3d, 0x2b}}, {@fowner_lt={'fowner<', 0xffffffffffffffff}}, {@dont_measure}]}) 12:45:02 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xa00, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 511.022761][T14488] Node 0 DMA free:15360kB boost:0kB min:200kB low:248kB high:296kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB [ 511.152028][T14488] lowmem_reserve[]: 0 2645 2645 2645 2645 [ 511.179878][T14488] Node 0 DMA32 free:1197172kB boost:0kB min:35676kB low:44592kB high:53508kB reserved_highatomic:0KB active_anon:18064kB inactive_anon:613728kB active_file:17408kB inactive_file:36052kB unevictable:1536kB writepending:6000kB present:3129332kB managed:2716692kB mlocked:0kB bounce:0kB free_pcp:35364kB local_pcp:21324kB free_cma:0kB [ 511.218922][T14533] loop3: detected capacity change from 0 to 128 12:45:02 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) (async) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) (async) creat(&(0x7f0000000040)='./file0\x00', 0x100) (async) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) r4 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) (async, rerun: 32) ioctl$int_in(r5, 0x5421, &(0x7f0000000300)=0x80000001) (rerun: 32) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r6, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) r7 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r7, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) (async, rerun: 32) write$binfmt_script(r7, &(0x7f0000000000)=ANY=[], 0x208e24b) (async, rerun: 32) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(r6, 0xc0189374, &(0x7f0000000140)={{0x1, 0x1, 0x18, r2, {0x5}}, './file0\x00'}) (async) ioctl$KVM_SMI(r4, 0xaeb7) (async) ioctl$KVM_RUN(r2, 0xae80, 0x0) 12:45:02 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000040)='./bus\x00', 0xd9) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) [ 511.242491][T14533] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 511.265662][T14533] Mount JFS Failure: -5 [ 511.277226][T14533] jfs_mount failed w/return code = -5 12:45:02 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xb00, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 511.306666][T14488] lowmem_reserve[]: 0 0 0 0 0 [ 511.320671][T14488] Node 0 Normal free:0kB boost:0kB min:4kB low:4kB high:4kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:1048576kB managed:400kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB [ 511.457890][T14488] lowmem_reserve[]: 0 0 0 0 0 [ 511.493123][T14488] Node 1 Normal free:3949532kB boost:0kB min:54224kB low:67780kB high:81336kB reserved_highatomic:0KB active_anon:8kB inactive_anon:932kB active_file:72kB inactive_file:0kB unevictable:1536kB writepending:4kB present:4194304kB managed:4117620kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB [ 511.500257][T14544] loop3: detected capacity change from 0 to 128 [ 511.584845][ T25] kauditd_printk_skb: 31 callbacks suppressed [ 511.584862][ T25] audit: type=1804 audit(1644497102.974:539): pid=14535 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/806/file0" dev="sda1" ino=1177 res=1 errno=0 [ 511.635776][T14544] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 511.659875][T14544] Mount JFS Failure: -5 [ 511.674407][T14544] jfs_mount failed w/return code = -5 [ 511.714121][T14488] lowmem_reserve[]: 0 0 0 0 0 [ 511.732168][T14488] Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 1*1024kB (U) 1*2048kB (M) 3*4096kB (M) = 15360kB [ 511.755327][T14488] Node 0 DMA32: 4977*4kB (UME) 5787*8kB (UME) 2208*16kB (UME) 1003*32kB (UME) 428*64kB (UME) 178*128kB (UME) 101*256kB (UM) 69*512kB (UM) 46*1024kB (U) 18*2048kB (UME) 213*4096kB (UM) = 1201404kB [ 511.845547][T14488] Node 0 Normal: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB [ 511.885385][T14488] Node 1 Normal: 87*4kB (UM) 180*8kB (U) 140*16kB (U) 87*32kB (UE) 63*64kB (UME) 35*128kB (UME) 8*256kB (UE) 8*512kB (UE) 0*1024kB 0*2048kB 959*4096kB (M) = 3949532kB [ 511.918534][T14488] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB [ 511.938211][T14488] Node 0 hugepages_total=6 hugepages_free=6 hugepages_surp=4 hugepages_size=2048kB [ 511.947531][T14488] Node 1 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB [ 511.969656][T14488] Node 1 hugepages_total=2 hugepages_free=2 hugepages_surp=0 hugepages_size=2048kB [ 511.998323][T14488] 18275 total pagecache pages [ 512.016372][T14488] 0 pages in swap cache [ 512.025053][T14488] Swap cache stats: add 0, delete 0, find 0/0 [ 512.039046][T14488] Free swap = 0kB [ 512.042870][T14488] Total swap = 0kB [ 512.059247][T14488] 2097051 pages RAM [ 512.063164][T14488] 0 pages HighMem/MovableOnly [ 512.081778][T14488] 384533 pages reserved [ 512.085959][T14488] 0 pages cma reserved 12:45:03 executing program 2: r0 = syz_open_dev$evdev(&(0x7f0000000480), 0x0, 0x48500) (async, rerun: 32) ioctl$EVIOCREVOKE(0xffffffffffffffff, 0x40044591, &(0x7f00000000c0)=0x2) (rerun: 32) ioctl$EVIOCGMASK(r0, 0x80104592, &(0x7f0000000100)={0x2, 0xdf, &(0x7f0000000200)="cf2825200528835fd30095ad0b204425499b2ef5ae17a7092ea68bcafca64c7e0702727e8f3d06b2e23756cadb83e2a910c5bcbde7567529ee9e99d448a8ccd56bb8776e21cec2dc479484faa3555529a91a0ba4abece6b4877cc19aa2c501bc780d9e23280ab614f63ac942da8cd6e5dfc9280e77d3a412d509dbb007c4670ae491e037d311cf2a6cf66f2f6c869d3e007b89eee3f20b36c706deea850e711cec7dc7d36642765e75848c53a37cf6e770c7fbe20e12ad32590b493ed1aad33ea6f1556fe4b3a55adf76aadfe6e3a709dd08b0a1e64e310db4bbbe8165037e"}) (async) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000000)=ANY=[], 0x208e24b) clock_gettime(0x0, &(0x7f0000000000)={0x0, 0x0}) (async, rerun: 64) ioctl$INCFS_IOC_GET_FILLED_BLOCKS(r1, 0x80286722, &(0x7f0000000300)={&(0x7f0000000140)=""/89, 0x59, 0x4, 0x7}) (async, rerun: 64) clock_gettime(0x0, &(0x7f0000000040)={0x0, 0x0}) write$evdev(r1, &(0x7f0000000080)=[{{r2, r3/1000+60000}, 0x4, 0x1e, 0x48df}, {{r4, r5/1000+60000}, 0x1f, 0x5, 0xff}], 0x30) 12:45:03 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) sendmsg$DEVLINK_CMD_SB_GET(r1, &(0x7f0000000280)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f0000000240)={&(0x7f0000000140)={0xd4, 0x0, 0x400, 0x70bd2c, 0x25dfdbfc, {}, [{@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0xbf}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x10000}}, {@pci={{0x8}, {0x11}}, {0x8, 0xb, 0x44}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x8}}, {@pci={{0x8}, {0x11}}, {0x8, 0xb, 0x1}}]}, 0xd4}, 0x1, 0x0, 0x0, 0x4008000}, 0x40) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000000)=ANY=[], 0x208e24b) name_to_handle_at(r2, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000300)=@FILEID_INO32_GEN_PARENT={0x10, 0x2, {{0xdd, 0xffffffff}, 0xff, 0x4}}, &(0x7f0000000340), 0x400) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r4, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r3, @ANYBLOB="1e003300a0000000ffffffffffff0802110000013936dfe750500000000000004f2b503a4a2684e298b3470a4fde8329b8ec3ccf4592afac2ca3f72d22c8ae966749ce28a5cbaf5fd8486ffaa843d74512a762f44150f36653996bc749b15c93ec39fe8e2c5ebdc99163ff1adbd5e82aebdf7a59bcbd24958d2bfaaf9075414d25510070d4f866a387d01c00db78ee9ad0117f416a766b6a95a7"], 0x3c}}, 0x0) 12:45:03 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async, rerun: 64) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async, rerun: 64) creat(&(0x7f0000000040)='./bus\x00', 0xd9) (async, rerun: 32) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) (rerun: 32) 12:45:03 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xb91, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 512.202545][T14548] loop3: detected capacity change from 0 to 128 [ 512.262861][T14548] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 512.282780][T14548] Mount JFS Failure: -5 [ 512.297289][T14548] jfs_mount failed w/return code = -5 12:45:03 executing program 0: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000040)='./bus\x00', 0xd9) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) 12:45:03 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xc00, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 512.556222][T14565] loop3: detected capacity change from 0 to 128 12:45:04 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) r4 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) ioctl$int_in(r5, 0x5421, &(0x7f0000000300)=0x80000001) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r6, &(0x7f0000000000)=ANY=[], 0x208e24b) r7 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r7, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) write$binfmt_script(r7, &(0x7f0000000000)=ANY=[], 0x208e24b) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(r6, 0xc0189374, &(0x7f0000000140)={{0x1, 0x1, 0x18, r2, {0x5}}, './file0\x00'}) ioctl$KVM_SMI(r4, 0xaeb7) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 512.640241][T14565] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 512.679060][T14565] Mount JFS Failure: -5 [ 512.705573][T14565] jfs_mount failed w/return code = -5 12:45:04 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xc65, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 512.962149][T14570] loop3: detected capacity change from 0 to 128 12:45:04 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000040)='./bus\x00', 0xd9) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async) chdir(&(0x7f0000000380)='./file0\x00') (async) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async) creat(&(0x7f0000000040)='./bus\x00', 0xd9) (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) (async) [ 512.987436][ T25] audit: type=1804 audit(1644497104.374:540): pid=14571 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/808/file0" dev="sda1" ino=1161 res=1 errno=0 [ 513.057241][T14570] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 513.101176][T14570] Mount JFS Failure: -5 [ 513.129813][T14570] jfs_mount failed w/return code = -5 12:45:04 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) r4 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) ioctl$int_in(r5, 0x5421, &(0x7f0000000300)=0x80000001) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r6, &(0x7f0000000000)=ANY=[], 0x208e24b) r7 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r7, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) write$binfmt_script(r7, &(0x7f0000000000)=ANY=[], 0x208e24b) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(r6, 0xc0189374, &(0x7f0000000140)={{0x1, 0x1, 0x18, r2, {0x5}}, './file0\x00'}) ioctl$KVM_SMI(r4, 0xaeb7) ioctl$KVM_RUN(r2, 0xae80, 0x0) 12:45:04 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xd00, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:04 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) (async) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) sendmsg$DEVLINK_CMD_SB_GET(r1, &(0x7f0000000280)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f0000000240)={&(0x7f0000000140)={0xd4, 0x0, 0x400, 0x70bd2c, 0x25dfdbfc, {}, [{@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0xbf}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x10000}}, {@pci={{0x8}, {0x11}}, {0x8, 0xb, 0x44}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0xb, 0x8}}, {@pci={{0x8}, {0x11}}, {0x8, 0xb, 0x1}}]}, 0xd4}, 0x1, 0x0, 0x0, 0x4008000}, 0x40) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000000)=ANY=[], 0x208e24b) (async) name_to_handle_at(r2, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000300)=@FILEID_INO32_GEN_PARENT={0x10, 0x2, {{0xdd, 0xffffffff}, 0xff, 0x4}}, &(0x7f0000000340), 0x400) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r4, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r3, @ANYBLOB="1e003300a0000000ffffffffffff0802110000013936dfe750500000000000004f2b503a4a2684e298b3470a4fde8329b8ec3ccf4592afac2ca3f72d22c8ae966749ce28a5cbaf5fd8486ffaa843d74512a762f44150f36653996bc749b15c93ec39fe8e2c5ebdc99163ff1adbd5e82aebdf7a59bcbd24958d2bfaaf9075414d25510070d4f866a387d01c00db78ee9ad0117f416a766b6a95a7"], 0x3c}}, 0x0) [ 513.369605][T14574] loop3: detected capacity change from 0 to 128 [ 513.399911][T14574] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 513.418293][T14574] Mount JFS Failure: -5 [ 513.423703][T14574] jfs_mount failed w/return code = -5 12:45:04 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0xf00, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 513.502410][ T25] audit: type=1400 audit(1644497104.894:541): avc: denied { write } for pid=14577 comm="syz-executor.1" name="/" dev="configfs" ino=24421 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:configfs_t tclass=dir permissive=1 12:45:05 executing program 2: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0)='cgroup2\x00', 0x0, 0x0) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) r2 = openat$cgroup(r1, &(0x7f00000002c0)='syz1\x00', 0x200002, 0x0) r3 = openat$cgroup_int(r2, &(0x7f0000000180)='memory.high\x00', 0x2, 0x0) write$binfmt_script(r3, &(0x7f0000000900)={'#! ', './file0', [{0x20, 'cgroup2\x00'}], 0xa, "8abfa784b4b9458f5843579009b7a4fe936fc2cfad5d6e9a255b2dcfdbe2e574c516d200ecb4c710d706dbcedb85edaa4c887fa20ab820cf94963bbddce59734a5750dd487f154d5b1"}, 0x5d) syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) r4 = syz_mount_image$ntfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x10000, 0x8, &(0x7f00000007c0)=[{&(0x7f0000000300)="a6cad3420953fe7b22023644327a543094972b8b63115b3bf43c1a700d752e0373b08ff623b28d1ee3c734d3d14e8e6a189edcd25aa291ca9fff55198662f94b584b53a0ed4db9f89742111b6e38a0e1bc620193d0e44f2088a04d5359875e5bc17e14290813139cea5fa8ceab65a1d988dd519f92aa77fc957c797625efcb17ceca4f0d62b976c6db81813693f64cf2ca9831dff7d33b76d241cf5409a7e5e736e5c5eb1d89ddf7e751c14b6c5c1a51884e02f80538532ab7c29e881930a656c6b458296a5c281910d0fca0dab7149c39fe51fd7e64d1b76e3d9f93abc15349b5691c8c3526fc136557e1ac85b4821b1abffb45bd38ebb5", 0xf8, 0x9}, {&(0x7f0000000200)="5f754a229de1c0b2ffd4fce68b3c57e5cbffad0789a7ad4e863d85e58144b9cd9a890e33ad267a5007dfffca238f0794c9c11f6dfdc08faa01c2b29440862fd2d5865f97ea61066a98cab49d191223212e744158d3f8b8c7065a289941892b0b7e6cbc078025d495d6850a6051564f7bc26ed7bdc573678e323054a216a6ecf85bbd8ccfbe1ca3", 0x87, 0x100000000}, {&(0x7f0000000100), 0x0, 0x13b}, {&(0x7f0000000400)="77866800b8a723f7dfc8619fe5927cc5422106e04f4b7d85be709a6aa8ca27db3eeb364c5abf0c73ab5aa6ed0e463adb3aca5bc685ddfdb38bf7b6ec9a5e84e0c7467b9755d250a3a62456e115c4dec38988e2ffec8754f326ee628e72f55fb8c81f5be7868a63e604dc94f6ccaa45f2ce8c5abb1f097081eaefee33f4cefd14fefe3df8de85e035f7e3dd01f00ef12a38af7642963de03d528fba34dd9a989b1f5eb03c41108005d9c691c839b658dea0da05744419d826806293de2cf3c22ca40538775383f1121ad43e149bdd4cb743285c5fdd73037f3c1204e793e3362fd0cac124d05fcc", 0xe7, 0x7}, {&(0x7f0000000500)="e926f5ac16f88876e7f57a63735c69a219be35f7daaa489281dfabc2fc7e78aebd9b25df0fc87a1b27e0c3d99c2a6233b576cce5cac25333a9d3dce180efaf94b0dd3a77284bde1a0624ad4d3438f88ca1f0b1d7d047d43cabccc9cb5ac106f9fd18faa6a3c7fccde8c89d9571bc88c00d9719395bcab154f62f39db5cd427798f7f3cb0af711d32f3e77d388c2b97efd2e3981d854ff843393916d7b0a4465c5e2b262d0fce3a99b83cf4d231e22fff6e72c2e1", 0xb4, 0x1f}, {&(0x7f00000005c0)="07f9d7c112c194ae84b692e8c6c40320f3858c0df6ee4494438d3cf3dda1379bcb8431c0eca6c100a1ecc4b3ab68bc11c8dcc7bc482bd3f5c80edea396419e094b46b10d0e333d0fcf95e5b3d8f4953f9fa41d28449327b85fab390fa6baca00c20b47caa98457ffac78c45ab5a30e1f035552716784a28007a80a0346325e3095a4aa87074a", 0x86, 0x2}, {&(0x7f0000000680)="8225954ab93eb523fc3f106bcbcb618506fe7f6bda04f71430cd2b5cca484251ee2170fcf069915466e48f810fa37fa3f0e0a865f610a11a3dd2d93b403b19fcd17ceeaa75c77cf1a06abd28e6fbccdc3e6793d8de793add29ad1d63784bd4d640edc50d8e9c3ea4e13ef36ca8a7240cea5be3192812f8f3de32fb4bc4a7da9d2a352522e8956bcd20ca89b40a6b3d1c4cacc8e0b5ea513752e9bcd1eefeac46635e8c2789fe7800bd00", 0xaa, 0x9}, {&(0x7f0000000740)="94e160a0efc9ccd5ad7364826b0ba51c83d3942dc47f234ca5a9529cbf0cd6f534ddcd5cd167ddd380233401bdd4ef52e7cc3a2c93a1383a8cd5295d3723cb474cc8bee35e17f030bd", 0x49, 0x6}], 0x1040, &(0x7f0000000880)={[{@gid={'gid', 0x3d, 0xee01}}], [{@subj_role={'subj_role', 0x3d, '/dev/bus/usb/00#/00#\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'unconfined_u'}}]}) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x4010, r4, 0x45490000) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) sendfile(r3, r5, 0x0, 0x4) [ 513.573198][ T4310] I/O error, dev loop3, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0 [ 513.633688][T14592] loop3: detected capacity change from 0 to 128 [ 513.646496][ T25] audit: type=1804 audit(1644497105.044:542): pid=14575 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/809/file0" dev="sda1" ino=1158 res=1 errno=0 12:45:05 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) [ 513.688683][T14594] loop2: detected capacity change from 0 to 264192 [ 513.730817][T14592] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 513.762478][T14592] Mount JFS Failure: -5 [ 513.783482][T14592] jfs_mount failed w/return code = -5 [ 513.816725][ T25] audit: type=1400 audit(1644497105.164:543): avc: denied { mounton } for pid=14593 comm="syz-executor.2" path="/root/syzkaller-testdir3959370963/syzkaller.EkKQ5W/824/file0" dev="cgroup2" ino=1 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:cgroup_t tclass=dir permissive=1 12:45:05 executing program 2: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) (async) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0)='cgroup2\x00', 0x0, 0x0) (async) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) r2 = openat$cgroup(r1, &(0x7f00000002c0)='syz1\x00', 0x200002, 0x0) r3 = openat$cgroup_int(r2, &(0x7f0000000180)='memory.high\x00', 0x2, 0x0) write$binfmt_script(r3, &(0x7f0000000900)={'#! ', './file0', [{0x20, 'cgroup2\x00'}], 0xa, "8abfa784b4b9458f5843579009b7a4fe936fc2cfad5d6e9a255b2dcfdbe2e574c516d200ecb4c710d706dbcedb85edaa4c887fa20ab820cf94963bbddce59734a5750dd487f154d5b1"}, 0x5d) syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) r4 = syz_mount_image$ntfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x10000, 0x8, &(0x7f00000007c0)=[{&(0x7f0000000300)="a6cad3420953fe7b22023644327a543094972b8b63115b3bf43c1a700d752e0373b08ff623b28d1ee3c734d3d14e8e6a189edcd25aa291ca9fff55198662f94b584b53a0ed4db9f89742111b6e38a0e1bc620193d0e44f2088a04d5359875e5bc17e14290813139cea5fa8ceab65a1d988dd519f92aa77fc957c797625efcb17ceca4f0d62b976c6db81813693f64cf2ca9831dff7d33b76d241cf5409a7e5e736e5c5eb1d89ddf7e751c14b6c5c1a51884e02f80538532ab7c29e881930a656c6b458296a5c281910d0fca0dab7149c39fe51fd7e64d1b76e3d9f93abc15349b5691c8c3526fc136557e1ac85b4821b1abffb45bd38ebb5", 0xf8, 0x9}, {&(0x7f0000000200)="5f754a229de1c0b2ffd4fce68b3c57e5cbffad0789a7ad4e863d85e58144b9cd9a890e33ad267a5007dfffca238f0794c9c11f6dfdc08faa01c2b29440862fd2d5865f97ea61066a98cab49d191223212e744158d3f8b8c7065a289941892b0b7e6cbc078025d495d6850a6051564f7bc26ed7bdc573678e323054a216a6ecf85bbd8ccfbe1ca3", 0x87, 0x100000000}, {&(0x7f0000000100), 0x0, 0x13b}, {&(0x7f0000000400)="77866800b8a723f7dfc8619fe5927cc5422106e04f4b7d85be709a6aa8ca27db3eeb364c5abf0c73ab5aa6ed0e463adb3aca5bc685ddfdb38bf7b6ec9a5e84e0c7467b9755d250a3a62456e115c4dec38988e2ffec8754f326ee628e72f55fb8c81f5be7868a63e604dc94f6ccaa45f2ce8c5abb1f097081eaefee33f4cefd14fefe3df8de85e035f7e3dd01f00ef12a38af7642963de03d528fba34dd9a989b1f5eb03c41108005d9c691c839b658dea0da05744419d826806293de2cf3c22ca40538775383f1121ad43e149bdd4cb743285c5fdd73037f3c1204e793e3362fd0cac124d05fcc", 0xe7, 0x7}, {&(0x7f0000000500)="e926f5ac16f88876e7f57a63735c69a219be35f7daaa489281dfabc2fc7e78aebd9b25df0fc87a1b27e0c3d99c2a6233b576cce5cac25333a9d3dce180efaf94b0dd3a77284bde1a0624ad4d3438f88ca1f0b1d7d047d43cabccc9cb5ac106f9fd18faa6a3c7fccde8c89d9571bc88c00d9719395bcab154f62f39db5cd427798f7f3cb0af711d32f3e77d388c2b97efd2e3981d854ff843393916d7b0a4465c5e2b262d0fce3a99b83cf4d231e22fff6e72c2e1", 0xb4, 0x1f}, {&(0x7f00000005c0)="07f9d7c112c194ae84b692e8c6c40320f3858c0df6ee4494438d3cf3dda1379bcb8431c0eca6c100a1ecc4b3ab68bc11c8dcc7bc482bd3f5c80edea396419e094b46b10d0e333d0fcf95e5b3d8f4953f9fa41d28449327b85fab390fa6baca00c20b47caa98457ffac78c45ab5a30e1f035552716784a28007a80a0346325e3095a4aa87074a", 0x86, 0x2}, {&(0x7f0000000680)="8225954ab93eb523fc3f106bcbcb618506fe7f6bda04f71430cd2b5cca484251ee2170fcf069915466e48f810fa37fa3f0e0a865f610a11a3dd2d93b403b19fcd17ceeaa75c77cf1a06abd28e6fbccdc3e6793d8de793add29ad1d63784bd4d640edc50d8e9c3ea4e13ef36ca8a7240cea5be3192812f8f3de32fb4bc4a7da9d2a352522e8956bcd20ca89b40a6b3d1c4cacc8e0b5ea513752e9bcd1eefeac46635e8c2789fe7800bd00", 0xaa, 0x9}, {&(0x7f0000000740)="94e160a0efc9ccd5ad7364826b0ba51c83d3942dc47f234ca5a9529cbf0cd6f534ddcd5cd167ddd380233401bdd4ef52e7cc3a2c93a1383a8cd5295d3723cb474cc8bee35e17f030bd", 0x49, 0x6}], 0x1040, &(0x7f0000000880)={[{@gid={'gid', 0x3d, 0xee01}}], [{@subj_role={'subj_role', 0x3d, '/dev/bus/usb/00#/00#\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'unconfined_u'}}]}) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x4010, r4, 0x45490000) (async) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) sendfile(r3, r5, 0x0, 0x4) 12:45:05 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1020, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:05 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) r4 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) ioctl$int_in(r5, 0x5421, &(0x7f0000000300)=0x80000001) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r6, &(0x7f0000000000)=ANY=[], 0x208e24b) r7 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r7, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) write$binfmt_script(r7, &(0x7f0000000000)=ANY=[], 0x208e24b) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(r6, 0xc0189374, &(0x7f0000000140)={{0x1, 0x1, 0x18, r2, {0x5}}, './file0\x00'}) ioctl$KVM_SMI(r4, 0xaeb7) ioctl$KVM_RUN(r2, 0xae80, 0x0) 12:45:05 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async) chdir(&(0x7f0000000380)='./file0\x00') (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) (async) [ 514.084950][ T4305] I/O error, dev loop2, sector 264064 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0 [ 514.111238][T14602] loop2: detected capacity change from 0 to 264192 [ 514.121452][T14607] loop3: detected capacity change from 0 to 128 [ 514.121509][ T4305] I/O error, dev loop2, sector 264064 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 514.168651][ T4305] Buffer I/O error on dev loop2, logical block 33008, async page read [ 514.199562][T14607] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 514.240617][T14607] Mount JFS Failure: -5 [ 514.256277][T14607] jfs_mount failed w/return code = -5 12:45:05 executing program 2: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) (async) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0)='cgroup2\x00', 0x0, 0x0) (async) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) r2 = openat$cgroup(r1, &(0x7f00000002c0)='syz1\x00', 0x200002, 0x0) r3 = openat$cgroup_int(r2, &(0x7f0000000180)='memory.high\x00', 0x2, 0x0) write$binfmt_script(r3, &(0x7f0000000900)={'#! ', './file0', [{0x20, 'cgroup2\x00'}], 0xa, "8abfa784b4b9458f5843579009b7a4fe936fc2cfad5d6e9a255b2dcfdbe2e574c516d200ecb4c710d706dbcedb85edaa4c887fa20ab820cf94963bbddce59734a5750dd487f154d5b1"}, 0x5d) (async) syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) r4 = syz_mount_image$ntfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x10000, 0x8, &(0x7f00000007c0)=[{&(0x7f0000000300)="a6cad3420953fe7b22023644327a543094972b8b63115b3bf43c1a700d752e0373b08ff623b28d1ee3c734d3d14e8e6a189edcd25aa291ca9fff55198662f94b584b53a0ed4db9f89742111b6e38a0e1bc620193d0e44f2088a04d5359875e5bc17e14290813139cea5fa8ceab65a1d988dd519f92aa77fc957c797625efcb17ceca4f0d62b976c6db81813693f64cf2ca9831dff7d33b76d241cf5409a7e5e736e5c5eb1d89ddf7e751c14b6c5c1a51884e02f80538532ab7c29e881930a656c6b458296a5c281910d0fca0dab7149c39fe51fd7e64d1b76e3d9f93abc15349b5691c8c3526fc136557e1ac85b4821b1abffb45bd38ebb5", 0xf8, 0x9}, {&(0x7f0000000200)="5f754a229de1c0b2ffd4fce68b3c57e5cbffad0789a7ad4e863d85e58144b9cd9a890e33ad267a5007dfffca238f0794c9c11f6dfdc08faa01c2b29440862fd2d5865f97ea61066a98cab49d191223212e744158d3f8b8c7065a289941892b0b7e6cbc078025d495d6850a6051564f7bc26ed7bdc573678e323054a216a6ecf85bbd8ccfbe1ca3", 0x87, 0x100000000}, {&(0x7f0000000100), 0x0, 0x13b}, {&(0x7f0000000400)="77866800b8a723f7dfc8619fe5927cc5422106e04f4b7d85be709a6aa8ca27db3eeb364c5abf0c73ab5aa6ed0e463adb3aca5bc685ddfdb38bf7b6ec9a5e84e0c7467b9755d250a3a62456e115c4dec38988e2ffec8754f326ee628e72f55fb8c81f5be7868a63e604dc94f6ccaa45f2ce8c5abb1f097081eaefee33f4cefd14fefe3df8de85e035f7e3dd01f00ef12a38af7642963de03d528fba34dd9a989b1f5eb03c41108005d9c691c839b658dea0da05744419d826806293de2cf3c22ca40538775383f1121ad43e149bdd4cb743285c5fdd73037f3c1204e793e3362fd0cac124d05fcc", 0xe7, 0x7}, {&(0x7f0000000500)="e926f5ac16f88876e7f57a63735c69a219be35f7daaa489281dfabc2fc7e78aebd9b25df0fc87a1b27e0c3d99c2a6233b576cce5cac25333a9d3dce180efaf94b0dd3a77284bde1a0624ad4d3438f88ca1f0b1d7d047d43cabccc9cb5ac106f9fd18faa6a3c7fccde8c89d9571bc88c00d9719395bcab154f62f39db5cd427798f7f3cb0af711d32f3e77d388c2b97efd2e3981d854ff843393916d7b0a4465c5e2b262d0fce3a99b83cf4d231e22fff6e72c2e1", 0xb4, 0x1f}, {&(0x7f00000005c0)="07f9d7c112c194ae84b692e8c6c40320f3858c0df6ee4494438d3cf3dda1379bcb8431c0eca6c100a1ecc4b3ab68bc11c8dcc7bc482bd3f5c80edea396419e094b46b10d0e333d0fcf95e5b3d8f4953f9fa41d28449327b85fab390fa6baca00c20b47caa98457ffac78c45ab5a30e1f035552716784a28007a80a0346325e3095a4aa87074a", 0x86, 0x2}, {&(0x7f0000000680)="8225954ab93eb523fc3f106bcbcb618506fe7f6bda04f71430cd2b5cca484251ee2170fcf069915466e48f810fa37fa3f0e0a865f610a11a3dd2d93b403b19fcd17ceeaa75c77cf1a06abd28e6fbccdc3e6793d8de793add29ad1d63784bd4d640edc50d8e9c3ea4e13ef36ca8a7240cea5be3192812f8f3de32fb4bc4a7da9d2a352522e8956bcd20ca89b40a6b3d1c4cacc8e0b5ea513752e9bcd1eefeac46635e8c2789fe7800bd00", 0xaa, 0x9}, {&(0x7f0000000740)="94e160a0efc9ccd5ad7364826b0ba51c83d3942dc47f234ca5a9529cbf0cd6f534ddcd5cd167ddd380233401bdd4ef52e7cc3a2c93a1383a8cd5295d3723cb474cc8bee35e17f030bd", 0x49, 0x6}], 0x1040, &(0x7f0000000880)={[{@gid={'gid', 0x3d, 0xee01}}], [{@subj_role={'subj_role', 0x3d, '/dev/bus/usb/00#/00#\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'unconfined_u'}}]}) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x4010, r4, 0x45490000) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) (async) sendfile(r3, r5, 0x0, 0x4) 12:45:05 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async) chdir(&(0x7f0000000380)='./file0\x00') (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) (async) [ 514.312653][ T25] audit: type=1804 audit(1644497105.704:544): pid=14609 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/810/file0" dev="sda1" ino=1181 res=1 errno=0 [ 514.348250][ T4305] I/O error, dev loop2, sector 264064 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0 12:45:05 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1100, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 514.502917][T14629] loop2: detected capacity change from 0 to 264192 [ 514.573095][T14631] loop3: detected capacity change from 0 to 128 12:45:06 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000100)='./bus/file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f00000000c0)='devpts\x00', 0x100a000, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) rename(&(0x7f0000000040)='./bus/file0\x00', &(0x7f0000000080)='./bus/file0\x00') creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) [ 514.660657][T14631] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 514.697255][T14634] overlayfs: failed to resolve 'file0': -2 12:45:06 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000400)={'wlan1\x00', 0x0}) r2 = syz_genetlink_get_family_id$tipc(&(0x7f0000000080), r0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$tipc(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$TIPC_CMD_GET_MEDIA_NAMES(r3, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x1c, r4, 0x1}, 0x1c}}, 0x0) sendmsg$TIPC_CMD_SET_LINK_TOL(r0, &(0x7f00000003c0)={&(0x7f00000002c0), 0xc, &(0x7f0000000380)={&(0x7f0000000300)={0x68, r4, 0x380, 0x70bd2c, 0x25dfdbfb, {{}, {}, {0x4c, 0x18, {0x0, @media='ib\x00'}}}, ["", "", ""]}, 0x68}, 0x1, 0x0, 0x0, 0x80}, 0x4004084) sendmsg$TIPC_CMD_SHOW_NAME_TABLE(r0, &(0x7f0000000140)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x30, r2, 0x20, 0x70bd26, 0x25dfdbfb, {{}, {}, {0x14, 0x19, {0xffff0001, 0x2, 0x6c02, 0x200}}}, [""]}, 0x30}, 0x1, 0x0, 0x0, 0x20000000}, 0x80) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000180)=ANY=[@ANYBLOB="3c000000d64f266b4426bd452f32f739bc07cf01e08c7ff5b54ee9d7d503e61d5ecbf596c79e8eb0c237e75a954a9cdd186b795e7990ce10b36ab5340473f2922b0aa5b070e737f7217e6b253656d7d8abf20245a7630ab0255a40b8305c24183901cfb8ac2c38317163ded93f1a7b72be429b3373223513a456d7d50b1243f70b6473dd6706363a3d3b79c97d775268f81e7339716f777922ba015a8f1322fa945909b9c6b79bb2bb3c57cd98d065ac7f0974c674acca0b7053834340aa294a6b501ad9518b34f68c7a3065e8a20d1fc1a568cdda38d7dedf48aa60af2497e8", @ANYRES16=r5, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) [ 514.715558][T14631] Mount JFS Failure: -5 12:45:06 executing program 2: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0)='cgroup2\x00', 0x0, 0x0) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) r2 = openat$cgroup(r1, &(0x7f00000002c0)='syz1\x00', 0x200002, 0x0) r3 = openat$cgroup_int(r2, &(0x7f0000000180)='memory.high\x00', 0x2, 0x0) write$binfmt_script(r3, &(0x7f0000000900)={'#! ', './file0', [{0x20, 'cgroup2\x00'}], 0xa, "8abfa784b4b9458f5843579009b7a4fe936fc2cfad5d6e9a255b2dcfdbe2e574c516d200ecb4c710d706dbcedb85edaa4c887fa20ab820cf94963bbddce59734a5750dd487f154d5b1"}, 0x5d) syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) r4 = syz_mount_image$ntfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x10000, 0x8, &(0x7f00000007c0)=[{&(0x7f0000000300)="a6cad3420953fe7b22023644327a543094972b8b63115b3bf43c1a700d752e0373b08ff623b28d1ee3c734d3d14e8e6a189edcd25aa291ca9fff55198662f94b584b53a0ed4db9f89742111b6e38a0e1bc620193d0e44f2088a04d5359875e5bc17e14290813139cea5fa8ceab65a1d988dd519f92aa77fc957c797625efcb17ceca4f0d62b976c6db81813693f64cf2ca9831dff7d33b76d241cf5409a7e5e736e5c5eb1d89ddf7e751c14b6c5c1a51884e02f80538532ab7c29e881930a656c6b458296a5c281910d0fca0dab7149c39fe51fd7e64d1b76e3d9f93abc15349b5691c8c3526fc136557e1ac85b4821b1abffb45bd38ebb5", 0xf8, 0x9}, {&(0x7f0000000200)="5f754a229de1c0b2ffd4fce68b3c57e5cbffad0789a7ad4e863d85e58144b9cd9a890e33ad267a5007dfffca238f0794c9c11f6dfdc08faa01c2b29440862fd2d5865f97ea61066a98cab49d191223212e744158d3f8b8c7065a289941892b0b7e6cbc078025d495d6850a6051564f7bc26ed7bdc573678e323054a216a6ecf85bbd8ccfbe1ca3", 0x87, 0x100000000}, {&(0x7f0000000100), 0x0, 0x13b}, {&(0x7f0000000400)="77866800b8a723f7dfc8619fe5927cc5422106e04f4b7d85be709a6aa8ca27db3eeb364c5abf0c73ab5aa6ed0e463adb3aca5bc685ddfdb38bf7b6ec9a5e84e0c7467b9755d250a3a62456e115c4dec38988e2ffec8754f326ee628e72f55fb8c81f5be7868a63e604dc94f6ccaa45f2ce8c5abb1f097081eaefee33f4cefd14fefe3df8de85e035f7e3dd01f00ef12a38af7642963de03d528fba34dd9a989b1f5eb03c41108005d9c691c839b658dea0da05744419d826806293de2cf3c22ca40538775383f1121ad43e149bdd4cb743285c5fdd73037f3c1204e793e3362fd0cac124d05fcc", 0xe7, 0x7}, {&(0x7f0000000500)="e926f5ac16f88876e7f57a63735c69a219be35f7daaa489281dfabc2fc7e78aebd9b25df0fc87a1b27e0c3d99c2a6233b576cce5cac25333a9d3dce180efaf94b0dd3a77284bde1a0624ad4d3438f88ca1f0b1d7d047d43cabccc9cb5ac106f9fd18faa6a3c7fccde8c89d9571bc88c00d9719395bcab154f62f39db5cd427798f7f3cb0af711d32f3e77d388c2b97efd2e3981d854ff843393916d7b0a4465c5e2b262d0fce3a99b83cf4d231e22fff6e72c2e1", 0xb4, 0x1f}, {&(0x7f00000005c0)="07f9d7c112c194ae84b692e8c6c40320f3858c0df6ee4494438d3cf3dda1379bcb8431c0eca6c100a1ecc4b3ab68bc11c8dcc7bc482bd3f5c80edea396419e094b46b10d0e333d0fcf95e5b3d8f4953f9fa41d28449327b85fab390fa6baca00c20b47caa98457ffac78c45ab5a30e1f035552716784a28007a80a0346325e3095a4aa87074a", 0x86, 0x2}, {&(0x7f0000000680)="8225954ab93eb523fc3f106bcbcb618506fe7f6bda04f71430cd2b5cca484251ee2170fcf069915466e48f810fa37fa3f0e0a865f610a11a3dd2d93b403b19fcd17ceeaa75c77cf1a06abd28e6fbccdc3e6793d8de793add29ad1d63784bd4d640edc50d8e9c3ea4e13ef36ca8a7240cea5be3192812f8f3de32fb4bc4a7da9d2a352522e8956bcd20ca89b40a6b3d1c4cacc8e0b5ea513752e9bcd1eefeac46635e8c2789fe7800bd00", 0xaa, 0x9}, {&(0x7f0000000740)="94e160a0efc9ccd5ad7364826b0ba51c83d3942dc47f234ca5a9529cbf0cd6f534ddcd5cd167ddd380233401bdd4ef52e7cc3a2c93a1383a8cd5295d3723cb474cc8bee35e17f030bd", 0x49, 0x6}], 0x1040, &(0x7f0000000880)={[{@gid={'gid', 0x3d, 0xee01}}], [{@subj_role={'subj_role', 0x3d, '/dev/bus/usb/00#/00#\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'unconfined_u'}}]}) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x4010, r4, 0x45490000) r5 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r5, 0x0) sendfile(r3, r5, 0x0, 0x4) 12:45:06 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r4 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r4, 0x0) ioctl$int_in(r4, 0x5421, &(0x7f0000000300)=0x80000001) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r5, &(0x7f0000000000)=ANY=[], 0x208e24b) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r6, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) write$binfmt_script(r6, &(0x7f0000000000)=ANY=[], 0x208e24b) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(r5, 0xc0189374, &(0x7f0000000140)={{0x1, 0x1, 0x18, r2, {0x5}}, './file0\x00'}) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 514.765708][T14631] jfs_mount failed w/return code = -5 12:45:06 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000400)={'wlan1\x00', 0x0}) r2 = syz_genetlink_get_family_id$tipc(&(0x7f0000000080), r0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$tipc(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$TIPC_CMD_GET_MEDIA_NAMES(r3, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x1c, r4, 0x1}, 0x1c}}, 0x0) sendmsg$TIPC_CMD_SET_LINK_TOL(r0, &(0x7f00000003c0)={&(0x7f00000002c0), 0xc, &(0x7f0000000380)={&(0x7f0000000300)={0x68, r4, 0x380, 0x70bd2c, 0x25dfdbfb, {{}, {}, {0x4c, 0x18, {0x0, @media='ib\x00'}}}, ["", "", ""]}, 0x68}, 0x1, 0x0, 0x0, 0x80}, 0x4004084) sendmsg$TIPC_CMD_SHOW_NAME_TABLE(r0, &(0x7f0000000140)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x30, r2, 0x20, 0x70bd26, 0x25dfdbfb, {{}, {}, {0x14, 0x19, {0xffff0001, 0x2, 0x6c02, 0x200}}}, [""]}, 0x30}, 0x1, 0x0, 0x0, 0x20000000}, 0x80) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000180)=ANY=[@ANYBLOB="3c000000d64f266b4426bd452f32f739bc07cf01e08c7ff5b54ee9d7d503e61d5ecbf596c79e8eb0c237e75a954a9cdd186b795e7990ce10b36ab5340473f2922b0aa5b070e737f7217e6b253656d7d8abf20245a7630ab0255a40b8305c24183901cfb8ac2c38317163ded93f1a7b72be429b3373223513a456d7d50b1243f70b6473dd6706363a3d3b79c97d775268f81e7339716f777922ba015a8f1322fa945909b9c6b79bb2bb3c57cd98d065ac7f0974c674acca0b7053834340aa294a6b501ad9518b34f68c7a3065e8a20d1fc1a568cdda38d7dedf48aa60af2497e8", @ANYRES16=r5, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) socket$nl_generic(0x10, 0x3, 0x10) (async) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000400)={'wlan1\x00'}) (async) syz_genetlink_get_family_id$tipc(&(0x7f0000000080), r0) (async) socket$nl_generic(0x10, 0x3, 0x10) (async) syz_genetlink_get_family_id$tipc(&(0x7f0000000040), 0xffffffffffffffff) (async) sendmsg$TIPC_CMD_GET_MEDIA_NAMES(r3, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x1c, r4, 0x1}, 0x1c}}, 0x0) (async) sendmsg$TIPC_CMD_SET_LINK_TOL(r0, &(0x7f00000003c0)={&(0x7f00000002c0), 0xc, &(0x7f0000000380)={&(0x7f0000000300)={0x68, r4, 0x380, 0x70bd2c, 0x25dfdbfb, {{}, {}, {0x4c, 0x18, {0x0, @media='ib\x00'}}}, ["", "", ""]}, 0x68}, 0x1, 0x0, 0x0, 0x80}, 0x4004084) (async) sendmsg$TIPC_CMD_SHOW_NAME_TABLE(r0, &(0x7f0000000140)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x30, r2, 0x20, 0x70bd26, 0x25dfdbfb, {{}, {}, {0x14, 0x19, {0xffff0001, 0x2, 0x6c02, 0x200}}}, [""]}, 0x30}, 0x1, 0x0, 0x0, 0x20000000}, 0x80) (async) syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) (async) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000180)=ANY=[@ANYBLOB="3c000000d64f266b4426bd452f32f739bc07cf01e08c7ff5b54ee9d7d503e61d5ecbf596c79e8eb0c237e75a954a9cdd186b795e7990ce10b36ab5340473f2922b0aa5b070e737f7217e6b253656d7d8abf20245a7630ab0255a40b8305c24183901cfb8ac2c38317163ded93f1a7b72be429b3373223513a456d7d50b1243f70b6473dd6706363a3d3b79c97d775268f81e7339716f777922ba015a8f1322fa945909b9c6b79bb2bb3c57cd98d065ac7f0974c674acca0b7053834340aa294a6b501ad9518b34f68c7a3065e8a20d1fc1a568cdda38d7dedf48aa60af2497e8", @ANYRES16=r5, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) (async) 12:45:06 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000100)='./bus/file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f00000000c0)='devpts\x00', 0x100a000, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) rename(&(0x7f0000000040)='./bus/file0\x00', &(0x7f0000000080)='./bus/file0\x00') creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async) chdir(&(0x7f0000000380)='./file0\x00') (async) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async) mkdir(&(0x7f0000000100)='./bus/file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f00000000c0)='devpts\x00', 0x100a000, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async) rename(&(0x7f0000000040)='./bus/file0\x00', &(0x7f0000000080)='./bus/file0\x00') (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) (async) 12:45:06 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1180, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 514.869623][ T4310] I/O error, dev loop2, sector 264064 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0 12:45:06 executing program 2: r0 = socket(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) r3 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000001140)={&(0x7f0000000040)=@newlink={0x44, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @macvlan={{0xc}, {0x4}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8}]}, 0x44}}, 0x0) r4 = socket(0x18, 0x0, 0x0) close(r4) r5 = socket$can_j1939(0x1d, 0x2, 0x7) r6 = socket$inet(0x2, 0x4000000000000001, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r6, 0x8933, &(0x7f0000000300)={'vcan0\x00', 0x0}) bind$can_j1939(r5, &(0x7f0000000000)={0x1d, r7}, 0x18) connect$can_j1939(r4, &(0x7f0000000040)={0x1d, r7}, 0x18) sendmsg$nl_route(r3, &(0x7f00000001c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000000c0)={&(0x7f00000002c0)=@bridge_newvlan={0x48, 0x70, 0x10, 0x70bd27, 0x25dfdbff, {0x7, 0x0, 0x0, r7}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_RANGE={0x6, 0x2, 0xd}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_STATE={0x5}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_INFO={0x8, 0x1, {0x31, 0x1}}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_RANGE={0x6, 0x2, 0xa}}]}, 0x48}, 0x1, 0x0, 0x0, 0x40080}, 0x48890) sendmsg$AUDIT_USER_AVC(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000180)={0x10}, 0x10}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeff7fef00102e80e423c7", @ANYRES32=r8, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000005840)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000004100)=@newqdisc={0x40, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r8, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq_codel={{0xd}, {0xc, 0x2, [@TCA_FQ_CODEL_INTERVAL={0x8}]}}]}, 0x40}}, 0x0) [ 514.988800][T14646] overlayfs: failed to resolve 'file0': -2 [ 515.008864][T14649] loop3: detected capacity change from 0 to 128 [ 515.056185][ T25] audit: type=1804 audit(1644497106.444:545): pid=14665 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/811/file0" dev="sda1" ino=1172 res=1 errno=0 [ 515.115630][T14671] SELinux: unrecognized netlink message: protocol=0 nlmsg_type=1107 sclass=netlink_route_socket pid=14671 comm=syz-executor.2 [ 515.150738][T14649] jfs_mount: diMount(ipaimap) failed w/rc = -5 12:45:06 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') (async, rerun: 32) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async, rerun: 32) mkdir(&(0x7f0000000100)='./bus/file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f00000000c0)='devpts\x00', 0x100a000, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) rename(&(0x7f0000000040)='./bus/file0\x00', &(0x7f0000000080)='./bus/file0\x00') (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) 12:45:06 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000400)={'wlan1\x00', 0x0}) (async) r2 = syz_genetlink_get_family_id$tipc(&(0x7f0000000080), r0) (async) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$tipc(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$TIPC_CMD_GET_MEDIA_NAMES(r3, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x1c, r4, 0x1}, 0x1c}}, 0x0) sendmsg$TIPC_CMD_SET_LINK_TOL(r0, &(0x7f00000003c0)={&(0x7f00000002c0), 0xc, &(0x7f0000000380)={&(0x7f0000000300)={0x68, r4, 0x380, 0x70bd2c, 0x25dfdbfb, {{}, {}, {0x4c, 0x18, {0x0, @media='ib\x00'}}}, ["", "", ""]}, 0x68}, 0x1, 0x0, 0x0, 0x80}, 0x4004084) (async) sendmsg$TIPC_CMD_SHOW_NAME_TABLE(r0, &(0x7f0000000140)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x30, r2, 0x20, 0x70bd26, 0x25dfdbfb, {{}, {}, {0x14, 0x19, {0xffff0001, 0x2, 0x6c02, 0x200}}}, [""]}, 0x30}, 0x1, 0x0, 0x0, 0x20000000}, 0x80) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000180)=ANY=[@ANYBLOB="3c000000d64f266b4426bd452f32f739bc07cf01e08c7ff5b54ee9d7d503e61d5ecbf596c79e8eb0c237e75a954a9cdd186b795e7990ce10b36ab5340473f2922b0aa5b070e737f7217e6b253656d7d8abf20245a7630ab0255a40b8305c24183901cfb8ac2c38317163ded93f1a7b72be429b3373223513a456d7d50b1243f70b6473dd6706363a3d3b79c97d775268f81e7339716f777922ba015a8f1322fa945909b9c6b79bb2bb3c57cd98d065ac7f0974c674acca0b7053834340aa294a6b501ad9518b34f68c7a3065e8a20d1fc1a568cdda38d7dedf48aa60af2497e8", @ANYRES16=r5, @ANYBLOB="010000000000000000003b00000008000300", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) [ 515.157149][T14649] Mount JFS Failure: -5 [ 515.208336][ T25] audit: type=1400 audit(1644497106.494:546): avc: denied { bind } for pid=14670 comm="syz-executor.2" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=can_socket permissive=1 [ 515.222163][T14649] jfs_mount failed w/return code = -5 12:45:06 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="01000000000000000000da6c00676538e289411131666c2a733b00000008000300d27bbd364abe21b0f01e1e395bd631793e2343d99c093a8f13a452e5a511a2170272d072bb1bc5a1c4dc49168ecf83340ac43dec3b1449e8c400f5e97236cb004de6e07465c67cbc0553d984cbc541868691916f3ea4239cb9", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) 12:45:06 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1181, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:06 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r4 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r4, 0x0) ioctl$int_in(r4, 0x5421, &(0x7f0000000300)=0x80000001) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r5, &(0x7f0000000000)=ANY=[], 0x208e24b) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r6, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) write$binfmt_script(r6, &(0x7f0000000000)=ANY=[], 0x208e24b) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 515.388285][ T25] audit: type=1400 audit(1644497106.504:547): avc: denied { connect } for pid=14670 comm="syz-executor.2" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=can_socket permissive=1 [ 515.410619][T14683] overlayfs: failed to resolve 'file0': -2 12:45:06 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="01000000000000000000da6c00676538e289411131666c2a733b00000008000300d27bbd364abe21b0f01e1e395bd631793e2343d99c093a8f13a452e5a511a2170272d072bb1bc5a1c4dc49168ecf83340ac43dec3b1449e8c400f5e97236cb004de6e07465c67cbc0553d984cbc541868691916f3ea4239cb9", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) 12:45:06 executing program 2: r0 = socket(0x10, 0x3, 0x0) (async) r1 = socket$nl_route(0x10, 0x3, 0x0) (async) r2 = socket(0x10, 0x803, 0x0) (async) r3 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000001140)={&(0x7f0000000040)=@newlink={0x44, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @macvlan={{0xc}, {0x4}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8}]}, 0x44}}, 0x0) r4 = socket(0x18, 0x0, 0x0) close(r4) (async) r5 = socket$can_j1939(0x1d, 0x2, 0x7) (async) r6 = socket$inet(0x2, 0x4000000000000001, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r6, 0x8933, &(0x7f0000000300)={'vcan0\x00', 0x0}) bind$can_j1939(r5, &(0x7f0000000000)={0x1d, r7}, 0x18) (async) connect$can_j1939(r4, &(0x7f0000000040)={0x1d, r7}, 0x18) sendmsg$nl_route(r3, &(0x7f00000001c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000000c0)={&(0x7f00000002c0)=@bridge_newvlan={0x48, 0x70, 0x10, 0x70bd27, 0x25dfdbff, {0x7, 0x0, 0x0, r7}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_RANGE={0x6, 0x2, 0xd}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_STATE={0x5}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_INFO={0x8, 0x1, {0x31, 0x1}}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_RANGE={0x6, 0x2, 0xa}}]}, 0x48}, 0x1, 0x0, 0x0, 0x40080}, 0x48890) sendmsg$AUDIT_USER_AVC(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000180)={0x10}, 0x10}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeff7fef00102e80e423c7", @ANYRES32=r8, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000005840)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000004100)=@newqdisc={0x40, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r8, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq_codel={{0xd}, {0xc, 0x2, [@TCA_FQ_CODEL_INTERVAL={0x8}]}}]}, 0x40}}, 0x0) 12:45:06 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x1) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) unlinkat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB="6c6f77757264ff7f0000c9d2493a6a6a"]) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus\x00', 0x181) [ 515.569549][T14690] loop3: detected capacity change from 0 to 128 12:45:07 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="01000000000000000000da6c00676538e289411131666c2a733b00000008000300d27bbd364abe21b0f01e1e395bd631793e2343d99c093a8f13a452e5a511a2170272d072bb1bc5a1c4dc49168ecf83340ac43dec3b1449e8c400f5e97236cb004de6e07465c67cbc0553d984cbc541868691916f3ea4239cb9", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) [ 515.635036][T14690] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 515.665393][T14695] SELinux: unrecognized netlink message: protocol=0 nlmsg_type=1107 sclass=netlink_route_socket pid=14695 comm=syz-executor.2 [ 515.669734][T14690] Mount JFS Failure: -5 [ 515.689841][ T25] audit: type=1804 audit(1644497107.084:548): pid=14700 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/812/file0" dev="sda1" ino=1169 res=1 errno=0 [ 515.705451][T14701] overlayfs: unrecognized mount option "lowurd˙" or missing value [ 515.744733][T14690] jfs_mount failed w/return code = -5 12:45:07 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="010000000000000000003b000000081608009076495943e9eba051e503907816f42000e8cabb44c36bc954f5795c8ea2a42d05d7d90b8324048963c28c6600ce8ecd64fac3c59ed00e9ac3b69507a0badaed814678a4a0b0b86ead8eeefcacd5a3b65cf25a5745e94713e097c9ab74815e7165fe4b948e7fb88220dad270fabd598d2eaff6459bd1bad2c8f6ddff60dc087dd660eb2b6b1bb40000000000000000", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) 12:45:07 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x1) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async, rerun: 32) chdir(&(0x7f0000000380)='./file0\x00') (async, rerun: 32) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) unlinkat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) (async, rerun: 64) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async, rerun: 64) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB="6c6f77757264ff7f0000c9d2493a6a6a"]) (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus\x00', 0x181) 12:45:07 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1182, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:07 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r4 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r4, 0x0) ioctl$int_in(r4, 0x5421, &(0x7f0000000300)=0x80000001) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r5, &(0x7f0000000000)=ANY=[], 0x208e24b) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r6, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) ioctl$KVM_RUN(r2, 0xae80, 0x0) 12:45:07 executing program 2: r0 = socket(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) (async) r3 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000001140)={&(0x7f0000000040)=@newlink={0x44, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @macvlan={{0xc}, {0x4}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8}]}, 0x44}}, 0x0) (async) r4 = socket(0x18, 0x0, 0x0) close(r4) r5 = socket$can_j1939(0x1d, 0x2, 0x7) (async) r6 = socket$inet(0x2, 0x4000000000000001, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r6, 0x8933, &(0x7f0000000300)={'vcan0\x00', 0x0}) bind$can_j1939(r5, &(0x7f0000000000)={0x1d, r7}, 0x18) (async) connect$can_j1939(r4, &(0x7f0000000040)={0x1d, r7}, 0x18) sendmsg$nl_route(r3, &(0x7f00000001c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000000c0)={&(0x7f00000002c0)=@bridge_newvlan={0x48, 0x70, 0x10, 0x70bd27, 0x25dfdbff, {0x7, 0x0, 0x0, r7}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_RANGE={0x6, 0x2, 0xd}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_STATE={0x5}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_INFO={0x8, 0x1, {0x31, 0x1}}}, @BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_RANGE={0x6, 0x2, 0xa}}]}, 0x48}, 0x1, 0x0, 0x0, 0x40080}, 0x48890) (async) sendmsg$AUDIT_USER_AVC(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000180)={0x10}, 0x10}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeff7fef00102e80e423c7", @ANYRES32=r8, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000005840)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000004100)=@newqdisc={0x40, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r8, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq_codel={{0xd}, {0xc, 0x2, [@TCA_FQ_CODEL_INTERVAL={0x8}]}}]}, 0x40}}, 0x0) [ 515.922242][T14708] __nla_validate_parse: 60 callbacks suppressed [ 515.922262][T14708] netlink: 40 bytes leftover after parsing attributes in process `syz-executor.4'. 12:45:07 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) (async, rerun: 64) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) (rerun: 64) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="010000000000000000003b000000081608009076495943e9eba051e503907816f42000e8cabb44c36bc954f5795c8ea2a42d05d7d90b8324048963c28c6600ce8ecd64fac3c59ed00e9ac3b69507a0badaed814678a4a0b0b86ead8eeefcacd5a3b65cf25a5745e94713e097c9ab74815e7165fe4b948e7fb88220dad270fabd598d2eaff6459bd1bad2c8f6ddff60dc087dd660eb2b6b1bb40000000000000000", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) [ 515.964743][T14712] loop3: detected capacity change from 0 to 128 [ 516.020324][T14712] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 516.030559][T14722] SELinux: unrecognized netlink message: protocol=0 nlmsg_type=1107 sclass=netlink_route_socket pid=14722 comm=syz-executor.2 [ 516.032990][T14725] SELinux: unrecognized netlink message: protocol=0 nlmsg_type=1107 sclass=netlink_route_socket pid=14725 comm=syz-executor.2 12:45:07 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x1) (async, rerun: 64) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (rerun: 64) chdir(&(0x7f0000000380)='./file0\x00') (async) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) unlinkat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB="6c6f77757264ff7f0000c9d2493a6a6a"]) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus\x00', 0x181) [ 516.088416][T14712] Mount JFS Failure: -5 [ 516.114370][T14712] jfs_mount failed w/return code = -5 12:45:07 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1f00, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 516.286809][T14733] overlayfs: unrecognized mount option "lowurd˙" or missing value [ 516.323473][T14741] loop3: detected capacity change from 0 to 128 12:45:07 executing program 2: syz_open_dev$sg(&(0x7f0000000000), 0x6, 0x24a083) r0 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r0, 0x0) mmap(&(0x7f0000001000/0xa000)=nil, 0xa000, 0x0, 0x11, r0, 0x58763000) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='ns\x00') getdents(r1, &(0x7f0000000f40)=""/4096, 0x1000) [ 516.375799][T14741] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 516.403968][T14741] Mount JFS Failure: -5 [ 516.423753][T14741] jfs_mount failed w/return code = -5 12:45:07 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r4 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r4, 0x0) ioctl$int_in(r4, 0x5421, &(0x7f0000000300)=0x80000001) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r5, &(0x7f0000000000)=ANY=[], 0x208e24b) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 12:45:07 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f0000000040)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="010000000000000000003b000000081608009076495943e9eba051e503907816f42000e8cabb44c36bc954f5795c8ea2a42d05d7d90b8324048963c28c6600ce8ecd64fac3c59ed00e9ac3b69507a0badaed814678a4a0b0b86ead8eeefcacd5a3b65cf25a5745e94713e097c9ab74815e7165fe4b948e7fb88220dad270fabd598d2eaff6459bd1bad2c8f6ddff60dc087dd660eb2b6b1bb40000000000000000", @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) 12:45:07 executing program 2: syz_open_dev$sg(&(0x7f0000000000), 0x6, 0x24a083) (async) r0 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r0, 0x0) (async) mmap(&(0x7f0000001000/0xa000)=nil, 0xa000, 0x0, 0x11, r0, 0x58763000) (async) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='ns\x00') getdents(r1, &(0x7f0000000f40)=""/4096, 0x1000) 12:45:08 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x2000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 516.643390][T14750] netlink: 40 bytes leftover after parsing attributes in process `syz-executor.4'. 12:45:08 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000001140)={&(0x7f0000000040)=@newlink={0x64, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x34, 0x12, 0x0, 0x1, @macvlan={{0xc}, {0x24, 0x2, 0x0, 0x1, [@IFLA_MACVLAN_MODE={0x8, 0x1, 0x10}, @IFLA_MACVLAN_MACADDR_DATA={0x10, 0x5, 0x0, 0x1, [{0x8, 0x4, @dev}]}, @IFLA_MACVLAN_MACADDR_MODE={0x8}]}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8}]}, 0x64}}, 0x0) sendto(r0, &(0x7f0000000040)="d91d22bc974cea5035395d5af53d40903d89ac4d4d80", 0x16, 0x40000, &(0x7f0000000080)=@can, 0x80) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) 12:45:08 executing program 2: syz_open_dev$sg(&(0x7f0000000000), 0x6, 0x24a083) (async) r0 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r0, 0x0) (async) mmap(&(0x7f0000001000/0xa000)=nil, 0xa000, 0x0, 0x11, r0, 0x58763000) (async) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='ns\x00') getdents(r1, &(0x7f0000000f40)=""/4096, 0x1000) 12:45:08 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) r3 = openat$mice(0xffffffffffffff9c, &(0x7f0000000040), 0x200080) sendmsg$MPTCP_PM_CMD_GET_LIMITS(r3, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x38, 0x0, 0x2, 0x70bd2b, 0x25dfdbfb, {}, [@MPTCP_PM_ATTR_ADDR={0x24, 0x1, 0x0, 0x1, [@MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x3}, @MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x81}, @MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x6}, @MPTCP_PM_ADDR_ATTR_FLAGS={0x8}]}]}, 0x38}, 0x1, 0x0, 0x0, 0x4014}, 0x4004) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f00000002c0)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYRES16=r2, @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) [ 516.687159][T14754] loop3: detected capacity change from 0 to 128 [ 516.773655][T14754] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 516.802853][T14754] Mount JFS Failure: -5 [ 516.811329][ T25] kauditd_printk_skb: 1 callbacks suppressed 12:45:08 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r4 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r4, 0x0) ioctl$int_in(r4, 0x5421, &(0x7f0000000300)=0x80000001) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r5, &(0x7f0000000000)=ANY=[], 0x208e24b) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) pwritev(r6, &(0x7f00000007c0)=[{&(0x7f0000000200)="a1d156a941dd71577cb80f49970353d73e6b17cd09904d5e99a6edcc912244b8c3cf7eb66b0feec3426e7b69fa5380df259a1f68b254790d2241b3868abd1713baf8b48508f524a66bd747b0cd0152d10d1f0e91c655a4184564f82f95ceceacf8b436a60ccdd3bb14c519e010cb8447c03dfe679915c87787ef6bd345311c514acdfe9638eecabfee84e4e012355ae22f1e58b30e456e2a034386a33e496bde5c3eace1390aead87bf0bf655f171d593fa27390569936f3262fd4f8d6812019a8fed16617f41d41dd01046e91cf00fe5db343f8d815e30c9af450262359a5ea9f", 0xe1}, {&(0x7f0000000300)}, {&(0x7f0000000340)="9bcdd99b1bf43e7384a839ddec8e9c85745fee099207da880524776cc0660705a4858f53a69655bebc9a2aaa27fdbfcdb7a8104a6b9058eb820a511657c334588792c88b3c99fef41d68453c4e46ca36c3eaf411aa8121401ebe2d2845d5333c60284f", 0x63}, {&(0x7f00000003c0)="94b2dfa3209852932e7656e2c6f8185e7778c4523cc61bf8e8038627cdc5d38775cbfac011e016d34a48e55ce54ef1d2f77387b359511b98136694e647627b84ae101ca72f03bb32d115e1aafc023281be2f3e08", 0x54}, {&(0x7f0000000440)="11b45c86c51d367ff2cba005fff66089f70c1fef3ad79b86f6405094ddfb59f79afe3da4d2405ccbcdfaf4f974bafc4981ed79d5534a4c23fe6f910af77051140e17f4c42a1f2db5d63e29ac02ced0335cca6c7e0ac18a717f38e8ff0a064024082ce6278350f1b8ad8a8c3d50d07b1b920c50b253c1b0aa3c1573058bc61addcae5840dd60c15a2b44b9a384c78e5a19cb0c55a05575c1922f967010219f66ddf2953dbb31fc3ab3ad7f31f129c", 0xae}, {&(0x7f0000000500)="4664400d14a6c3988a7653b0facada300586f30ff210901bb14fb72f6a0acfac45479d2c149957f5cb2e8eca3fc84c26c10e8b53d84f484453d79921d2c2036f112089d69acdec399cc2cb155cb40cb0567781b8f1accf34d48f3c5e162f0103b6cda1ebbd4dcb4dc17799b9359c6c56cbc833b453b8ab527b8811d1db62f30d6375c5933d13a1fdea4b3fc6725034374bad6759372b5e595851c0295023605a7c42f808b1c26cff421c85ebaeaf0a3d46a3e86fca27e9899d9228a27d9697bd3e1f0c575848c739cda3343c2136920faf4d2db4583042793c14d1b9cfbef3f3aef11f01263339fb59353aab21", 0xed}, {&(0x7f0000000600)="004c9233a0725058967e103adf068509649eb3cabcb1cb86c2dc18977f5d8578f2eaead061ba3c185747107d5a22c799fdbc2f03595da0e90634590946c1ce0405cdda65b7513256e9e997d3068d0f175c85f87f6582d069857295c64a189836ac7149d8edd52181eb7b65ecadae473a27ad5a48b1090a47ac98e279243227e9073cf46fb091d44118bc38ab9a4c70b79eb0251802448ba3c5023b6b23f6fb0773f75c0cf5b998500d06f36eca2d82064d2d57645b6aac1d89975a5e64fe3415b60208153e30b537a0471b7c4b37a7165c36debf0a501e2ada327024", 0xdc}, {&(0x7f0000000700)="95fbe2f14db32316c22ec618ee386bb7808985a178007b2eb20a470b410be4cc0be8731c3e2fdc0977250538087b54d5", 0x30}, {&(0x7f0000000740)="5654bd12f289409688167b040eb1f08c2103bb745e5612002ce8129af091c8a53eac800bf7528b5dd3d79837ecac1e0b923b19fc11eb843f80d2eee75e7eca5fd231c1d0732bbdebecb1ca736c396a3838174311bca75da48532e5bb05de9aed7f5e7fb06dacf73e2b60b687df4cc01abc4c584225bc9663c84c84f4df6d31", 0x7f}], 0x9, 0x3ff, 0x5) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 516.811346][ T25] audit: type=1804 audit(1644497108.204:550): pid=14757 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/814/file0" dev="sda1" ino=1163 res=1 errno=0 [ 516.875530][T14754] jfs_mount failed w/return code = -5 12:45:08 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) (async, rerun: 32) r3 = openat$mice(0xffffffffffffff9c, &(0x7f0000000040), 0x200080) (rerun: 32) sendmsg$MPTCP_PM_CMD_GET_LIMITS(r3, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x38, 0x0, 0x2, 0x70bd2b, 0x25dfdbfb, {}, [@MPTCP_PM_ATTR_ADDR={0x24, 0x1, 0x0, 0x1, [@MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x3}, @MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x81}, @MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x6}, @MPTCP_PM_ADDR_ATTR_FLAGS={0x8}]}]}, 0x38}, 0x1, 0x0, 0x0, 0x4014}, 0x4004) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f00000002c0)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYRES16=r2, @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) 12:45:08 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x2010, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:08 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000001140)={&(0x7f0000000040)=@newlink={0x64, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x34, 0x12, 0x0, 0x1, @macvlan={{0xc}, {0x24, 0x2, 0x0, 0x1, [@IFLA_MACVLAN_MODE={0x8, 0x1, 0x10}, @IFLA_MACVLAN_MACADDR_DATA={0x10, 0x5, 0x0, 0x1, [{0x8, 0x4, @dev}]}, @IFLA_MACVLAN_MACADDR_MODE={0x8}]}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8}]}, 0x64}}, 0x0) sendto(r0, &(0x7f0000000040)="d91d22bc974cea5035395d5af53d40903d89ac4d4d80", 0x16, 0x40000, &(0x7f0000000080)=@can, 0x80) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) (async) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async) chdir(&(0x7f0000000380)='./file0\x00') (async) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000001140)={&(0x7f0000000040)=@newlink={0x64, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x34, 0x12, 0x0, 0x1, @macvlan={{0xc}, {0x24, 0x2, 0x0, 0x1, [@IFLA_MACVLAN_MODE={0x8, 0x1, 0x10}, @IFLA_MACVLAN_MACADDR_DATA={0x10, 0x5, 0x0, 0x1, [{0x8, 0x4, @dev}]}, @IFLA_MACVLAN_MACADDR_MODE={0x8}]}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8}]}, 0x64}}, 0x0) (async) sendto(r0, &(0x7f0000000040)="d91d22bc974cea5035395d5af53d40903d89ac4d4d80", 0x16, 0x40000, &(0x7f0000000080)=@can, 0x80) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) (async) [ 517.071201][T14772] loop3: detected capacity change from 0 to 128 [ 517.129375][T14772] jfs_mount: diMount(ipaimap) failed w/rc = -5 12:45:08 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f0000001200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00002c1000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000880)="66baf80cb8647e8b87ef66bafc0cecdea9b8da392e263e360f21d166baf80cb82381c88bef66bafc0cecb9800000c00f3235004000000f300f52a800000000640f070f01c80f381d553f65670f01c4", 0x4f}], 0x1, 0x12, &(0x7f0000000080)=[@flags={0x3, 0x800}], 0x1) creat(&(0x7f0000000040)='./file0\x00', 0x100) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000000)=ANY=[], 0x208e24b) open(&(0x7f0000000100)='./file0\x00', 0x0, 0x44) r4 = syz_open_dev$usbfs(&(0x7f0000001280), 0x1aa1, 0x0) mmap(&(0x7f0000000000/0x400000)=nil, 0x400000, 0x0, 0x11, r4, 0x0) ioctl$int_in(r4, 0x5421, &(0x7f0000000300)=0x80000001) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='memory.numa_stat\x00', 0x275a, 0x0) write$binfmt_script(r5, &(0x7f0000000000)=ANY=[], 0x208e24b) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 517.174743][ T25] audit: type=1804 audit(1644497108.564:551): pid=14773 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir3959370963/syzkaller.EkKQ5W/834/file0" dev="sda1" ino=1164 res=1 errno=0 [ 517.197662][T14772] Mount JFS Failure: -5 [ 517.220096][T14772] jfs_mount failed w/return code = -5 12:45:08 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) r3 = openat$mice(0xffffffffffffff9c, &(0x7f0000000040), 0x200080) sendmsg$MPTCP_PM_CMD_GET_LIMITS(r3, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x38, 0x0, 0x2, 0x70bd2b, 0x25dfdbfb, {}, [@MPTCP_PM_ATTR_ADDR={0x24, 0x1, 0x0, 0x1, [@MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x3}, @MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x81}, @MPTCP_PM_ADDR_ATTR_ID={0x5, 0x2, 0x6}, @MPTCP_PM_ADDR_ATTR_FLAGS={0x8}]}]}, 0x38}, 0x1, 0x0, 0x0, 0x4014}, 0x4004) (async) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f00000002c0)=ANY=[@ANYBLOB='<\x00\x00\x00', @ANYRES16=r2, @ANYRES16=r2, @ANYRES32=r1, @ANYBLOB="1e003300a0000000ffffffffffff080211000001505050505050000000000000"], 0x3c}}, 0x0) 12:45:08 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000340), 0x0, 0x0) (async) chdir(&(0x7f0000000380)='./file0\x00') mkdir(&(0x7f0000000580)='./bus\x00', 0x0) (async) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000001140)={&(0x7f0000000040)=@newlink={0x64, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x34, 0x12, 0x0, 0x1, @macvlan={{0xc}, {0x24, 0x2, 0x0, 0x1, [@IFLA_MACVLAN_MODE={0x8, 0x1, 0x10}, @IFLA_MACVLAN_MACADDR_DATA={0x10, 0x5, 0x0, 0x1, [{0x8, 0x4, @dev}]}, @IFLA_MACVLAN_MACADDR_MODE={0x8}]}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8}]}, 0x64}}, 0x0) sendto(r0, &(0x7f0000000040)="d91d22bc974cea5035395d5af53d40903d89ac4d4d80", 0x16, 0x40000, &(0x7f0000000080)=@can, 0x80) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB='lowerdir=.:file0']) (async) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) 12:45:08 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x3f00, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) 12:45:08 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r3, 0x8933, &(0x7f0000001280)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_GET_KEY(r2, &(0x7f0000000900)={0x0, 0x0, &(0x7f00000008c0)={&(0x7f0000000580)={0x28, r1, 0xa1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r4}, @void}}, [@NL80211_ATTR_MAC={0xa}]}, 0x28}}, 0x0) sendmsg$NL80211_CMD_CRIT_PROTOCOL_STOP(r0, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f00000000c0)={&(0x7f0000000080)={0x20, r1, 0x8, 0x70bd25, 0x25dfdbfd, {{}, {@void, @val={0xc, 0x99, {0x0, 0x4f}}}}, ["", "", "", "", "", ""]}, 0x20}, 0x1, 0x0, 0x0, 0x4000}, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000dc0)={'wlan1\x00', 0x0}) r6 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000001240)={&(0x7f00000002c0)={0x3c, r6, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r5}, @void}}, [@NL80211_ATTR_FRAME={0x1e, 0x33, @disassoc={@wo_ht={{}, {}, @broadcast, @device_b}, 0x0, @void}}]}, 0x3c}}, 0x0) [ 517.412509][T14789] loop3: detected capacity change from 0 to 128 [ 517.462141][T14789] jfs_mount: diMount(ipaimap) failed w/rc = -5 [ 517.495415][T14789] Mount JFS Failure: -5 12:45:08 executing program 1: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x0, &(0x7f00000001c0)='./bus\x00', &(0x7f0000000340), 0x841095, 0x0) chdir(&(0x7f0000000380)='./file0\x00') open(&(0x7f0000000100)='./file0\x00', 0x4408c0, 0x0) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) setxattr$security_capability(&(0x7f0000000040)='./file0\x00', &(0x7f0000000080), &(0x7f00000000c0)=@v1={0x1000000, [{0x40}]}, 0xc, 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000480)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) rmdir(&(0x7f0000000140)='./bus/file0\x00') mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB="b94c7b22d2"]) creat(&(0x7f0000000280)='./bus/file0\x00', 0x0) [ 517.513516][T14789] jfs_mount failed w/return code = -5 [ 517.549494][ T25] audit: type=1804 audit(1644497108.944:552): pid=14783 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir2076196860/syzkaller.hQhxFY/815/file0" dev="sda1" ino=1162 res=1 errno=0 12:45:09 executing program 3: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010000006076000000000000001000000c00030000020000090000000020000000092010000000000000000004000000180000000200000016", 0x3d, 0x8000}], 0x0, &(0x7f0000065600)=ANY=[]) [ 517.654384][T14781] page:ffffea0000f10000 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x3c400 [ 517.665851][T14781] head:ffffea0000f10000 order:10 compound_mapcount:0 compound_pincount:0 [ 517.674403][T14781] flags: 0xfff00000010200(slab|head|node=0|zone=1|lastcpupid=0x7ff) [ 517.682710][T14781] raw: 00fff00000010200 ffffea0002100008 ffffea0001320008 ffff888010c43300 [ 517.691349][T14781] raw: 0000000000000000 ffff88803c400000 0000000100000001 0000000000000000 [ 517.699988][T14781] page dumped because: VM_BUG_ON_FOLIO(folio_test_slab(folio)) [ 517.707535][T14781] page_owner tracks the page as allocated [ 517.713298][T14781] page last allocated via order 10, migratetype Unmovable, gfp_mask 0x3420c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_COMP|__GFP_HARDWALL|__GFP_THISNODE), pid 14368, ts 505955778386, free_ts 385147415382 [ 517.734227][T14781] get_page_from_freelist+0xa72/0x2f50 [ 517.740368][T14781] __alloc_pages+0x1b2/0x500 [ 517.744988][T14781] cache_grow_begin+0x75/0x350 [ 517.749818][T14781] cache_alloc_refill+0x27f/0x380 [ 517.754867][T14781] __kmalloc+0x3b3/0x4d0 [ 517.759232][T14781] hcd_buffer_alloc+0x1ed/0x290 [ 517.764129][T14781] usb_alloc_coherent+0x5d/0x80 [ 517.769073][T14781] usbdev_mmap+0x207/0x900 [ 517.773554][T14781] mmap_region+0xd88/0x1630 [ 517.778083][T14781] do_mmap+0x869/0xfb0 [ 517.782212][T14781] vm_mmap_pgoff+0x1b7/0x290 [ 517.786812][T14781] ksys_mmap_pgoff+0x40d/0x5a0 [ 517.791643][T14781] do_syscall_64+0x35/0xb0 [ 517.796094][T14781] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 517.796498][T14801] overlayfs: unrecognized mount option "šL{"Ň" or missing value [ 517.802047][T14781] page last free stack trace: [ 517.814563][T14781] free_pcp_prepare+0x374/0x870 [ 517.819473][T14781] free_unref_page+0x19/0x690 [ 517.824167][T14781] ringbuf_map_free+0xd3/0x130 [ 517.829072][T14781] process_one_work+0x9ac/0x1650 [ 517.834069][T14781] worker_thread+0x657/0x1110 [ 517.838812][T14781] kthread+0x2e9/0x3a0 [ 517.843018][T14781] ret_from_fork+0x1f/0x30 [ 517.847606][T14781] ------------[ cut here ]------------ [ 517.853113][T14781] kernel BUG at include/linux/memcontrol.h:470! [ 517.859408][T14781] invalid opcode: 0000 [#1] PREEMPT SMP KASAN [ 517.865479][T14781] CPU: 0 PID: 14781 Comm: syz-executor.0 Not tainted 5.17.0-rc3-syzkaller-00043-gf4bc5bbb5fef #0 [ 517.875974][T14781] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 517.886023][T14781] RIP: 0010:workingset_activation+0x4f2/0x5d0 [ 517.892113][T14781] Code: 48 89 ef e8 50 01 00 00 c6 05 da cf d3 0b 01 0f 0b e9 0e fd ff ff e8 6d 90 cc ff 48 c7 c6 c0 0c b7 89 48 89 ef e8 2e 01 00 00 <0f> 0b e8 57 90 cc ff 0f 0b e9 e6 fb ff ff e8 4b 90 cc ff 48 c7 c6 [ 517.911722][T14781] RSP: 0018:ffffc90010e8f690 EFLAGS: 00010293 [ 517.917783][T14781] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000 [ 517.925745][T14781] RDX: ffff888077f6c080 RSI: ffffffff81ab1de2 RDI: 0000000000000003 [ 517.933706][T14781] RBP: ffffea0000f10000 R08: 0000000000000018 R09: 00000000ffffffff [ 517.941671][T14781] R10: ffffffff8908d53c R11: 00000000ffffffff R12: 0000000000000000 [ 517.949632][T14781] R13: ffff8880b9c34da8 R14: 000000000000000c R15: 0000000000000003 [ 517.957595][T14781] FS: 000055555718f400(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000 [ 517.966524][T14781] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 517.973103][T14781] CR2: 00007fe72a054000 CR3: 000000001eb1c000 CR4: 00000000003526f0 [ 517.981071][T14781] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 517.989038][T14781] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 517.997008][T14781] Call Trace: [ 518.000283][T14781] [ 518.003204][T14781] folio_mark_accessed+0x596/0xdd0 [ 518.008370][T14781] kvm_set_pfn_accessed+0x1d8/0x220 [ 518.013602][T14781] handle_changed_spte_acc_track+0x1bc/0x290 [ 518.019601][T14781] __handle_changed_spte+0xb93/0x13e0 [ 518.024973][T14781] ? alloc_tdp_mmu_page+0x4a0/0x4a0 [ 518.030170][T14781] __handle_changed_spte+0xb84/0x13e0 [ 518.035541][T14781] ? alloc_tdp_mmu_page+0x4a0/0x4a0 [ 518.040734][T14781] __handle_changed_spte+0xb84/0x13e0 [ 518.046101][T14781] ? alloc_tdp_mmu_page+0x4a0/0x4a0 [ 518.051294][T14781] __tdp_mmu_set_spte+0x227/0xa70 [ 518.056314][T14781] zap_gfn_range+0xd4c/0xe00 [ 518.060898][T14781] ? zap_collapsible_spte_range+0xb50/0xb50 [ 518.066794][T14781] __kvm_tdp_mmu_zap_gfn_range+0xdc/0x110 [ 518.072701][T14781] ? kvm_guest_state+0x100/0x100 [ 518.077631][T14781] kvm_tdp_mmu_zap_all+0x26/0x70 [ 518.082564][T14781] kvm_mmu_zap_all+0x27c/0x2c0 [ 518.087322][T14781] ? kvm_mmu_slot_leaf_clear_dirty+0x4c0/0x4c0 [ 518.093472][T14781] ? lock_release+0x720/0x720 [ 518.098151][T14781] ? free_unref_page_commit.constprop.0+0x2c2/0x6f0 [ 518.104736][T14781] ? kvm_guest_state+0x100/0x100 [ 518.109668][T14781] kvm_mmu_notifier_release+0x5f/0xa0 [ 518.115035][T14781] ? kvm_guest_state+0x100/0x100 [ 518.119966][T14781] mmu_notifier_unregister+0x124/0x3b0 [ 518.125424][T14781] kvm_put_kvm+0x48e/0xb00 [ 518.129878][T14781] kvm_vcpu_release+0x4d/0x70 [ 518.134552][T14781] __fput+0x286/0x9f0 [ 518.138533][T14781] ? kvm_vm_release+0x50/0x50 [ 518.143206][T14781] task_work_run+0xdd/0x1a0 [ 518.147708][T14781] exit_to_user_mode_prepare+0x27e/0x290 [ 518.153344][T14781] syscall_exit_to_user_mode+0x19/0x60 [ 518.158894][T14781] do_syscall_64+0x42/0xb0 [ 518.163322][T14781] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 518.169217][T14781] RIP: 0033:0x7f561510dc9b [ 518.173624][T14781] Code: 0f 05 48 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 63 fc ff ff 8b 7c 24 0c 41 89 c0 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 89 44 24 0c e8 a1 fc ff ff 8b 44 [ 518.193226][T14781] RSP: 002b:00007fff0658e120 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 [ 518.201629][T14781] RAX: 0000000000000000 RBX: 0000000000000006 RCX: 00007f561510dc9b [ 518.209588][T14781] RDX: 00007f5615272ad8 RSI: ffffffffffffffff RDI: 0000000000000005 [ 518.217549][T14781] RBP: 00007f561526f960 R08: 0000000000000000 R09: 00007f5615272ae0 [ 518.225514][T14781] R10: 00007fff0658e220 R11: 0000000000000293 R12: 000000000007e5b9 [ 518.233483][T14781] R13: 00007fff0658e220 R14: 00007f561526df60 R15: 0000000000000032 [ 518.241450][T14781] [ 518.244455][T14781] Modules linked in: [ 518.294757][T14781] ---[ end trace 0000000000000000 ]--- [ 518.300262][T14781] RIP: 0010:workingset_activation+0x4f2/0x5d0 [ 518.306344][T14781] Code: 48 89 ef e8 50 01 00 00 c6 05 da cf d3 0b 01 0f 0b e9 0e fd ff ff e8 6d 90 cc ff 48 c7 c6 c0 0c b7 89 48 89 ef e8 2e 01 00 00 <0f> 0b e8 57 90 cc ff 0f 0b e9 e6 fb ff ff e8 4b 90 cc ff 48 c7 c6 [ 518.325997][T14781] RSP: 0018:ffffc90010e8f690 EFLAGS: 00010293 [ 518.332107][T14781] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000 12:45:09 executing program 2: ioctl$VT_RESIZE(0xffffffffffffffff, 0x5609, &(0x7f0000000000)={0xe59, 0x7, 0x91c8}) ioctl$GIO_UNIMAP(0xffffffffffffffff, 0x4b66, &(0x7f0000000080)={0x7, &(0x7f0000000040)=[{}, {}, {}, {}, {}, {}, {}]}) ioctl$TCGETS(0xffffffffffffffff, 0x5401, &(0x7f00000000c0)) ioctl$TCSETAF(0xffffffffffffffff, 0x5408, &(0x7f0000000100)={0x6, 0x0, 0x4, 0x1ff, 0x10, "a580d206183d819a"}) ioctl$AUTOFS_DEV_IOCTL_SETPIPEFD(0xffffffffffffffff, 0xc0189378, &(0x7f0000000140)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0xffffffffffffffff}}, './file0\x00'}) ioctl$VT_RESIZE(r0, 0x5609, &(0x7f0000000180)={0x8, 0x8, 0x9}) ioctl$TCGETS(r1, 0x5401, &(0x7f00000001c0)) ioctl$TIOCL_GETMOUSEREPORTING(r0, 0x541c, &(0x7f0000000200)) ioctl$KDSETKEYCODE(0xffffffffffffffff, 0x4b4d, &(0x7f0000000240)={0x40, 0x2}) ioctl$TCGETS(0xffffffffffffffff, 0x5401, &(0x7f0000000280)) openat$ttyS3(0xffffffffffffff9c, &(0x7f00000002c0), 0x400, 0x0) ioctl$TCSETSW(0xffffffffffffffff, 0x5403, &(0x7f0000000300)={0xee, 0x2, 0xb52, 0x157c0000, 0xc, "4cea749edc6f9d748284cd4cd30e650572c82e"}) r2 = syz_open_pts(r0, 0x400000) ioctl$TIOCNOTTY(r2, 0x5422) ioctl$AUTOFS_DEV_IOCTL_EXPIRE(r1, 0xc018937c, &(0x7f0000000340)={{0x1, 0x1, 0x18, r1, {0x4}}, './file0\x00'}) ioctl$TIOCSIG(r3, 0x40045436, 0x41) r4 = openat2(r1, &(0x7f0000000380)='./file0\x00', &(0x7f00000003c0)={0x501480, 0xa0}, 0x18) ioctl$KDENABIO(r4, 0x4b36) r5 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000400), 0x200000, 0x0) ioctl$KDGETLED(r5, 0x4b31, &(0x7f0000000440)) [ 518.340116][T14781] RDX: ffff888077f6c080 RSI: ffffffff81ab1de2 RDI: 0000000000000003 [ 518.348123][T14781] RBP: ffffea0000f10000 R08: 0000000000000018 R09: 00000000ffffffff [ 518.356099][T14781] R10: ffffffff8908d53c R11: 00000000ffffffff R12: 0000000000000000 [ 518.364117][T14781] R13: ffff8880b9c34da8 R14: 000000000000000c R15: 0000000000000003 [ 518.372123][T14781] FS: 000055555718f400(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000 [ 518.381088][T14781] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 518.387682][T14781] CR2: 00007fe72a054000 CR3: 000000001eb1c000 CR4: 00000000003526f0 [ 518.395690][T14781] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 518.403705][T14781] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 518.411706][T14781] Kernel panic - not syncing: Fatal exception [ 518.417960][T14781] Kernel Offset: disabled [ 518.422273][T14781] Rebooting in 86400 seconds..