fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x1017e0}], 0x0, &(0x7f000007aa80), 0x0) openat$autofs(0xffffffffffffff9c, &(0x7f0000000740), 0x0, 0x0) 21:00:11 executing program 4: socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)=[{&(0x7f0000000080)="2111f07935c836d576b5158905dd3a5414389f68aadf87e1a68ee58062afd3dc992b2459ceb6a0543aa297065c5c891f25", 0x31}, {&(0x7f0000001940)="39ea7418670f9c806c0d72cea1534e0311170f0cc9e72c7086c95df566e73b3b96e6fa3cd8a4b2eef1acbe53f285fb2b5102917acb1ea80c165486d9207c1e9837c8e94baa2f4cb2d9377aa6bed519f70c644fd56904adbe9c10cd7a1aa6dff42607683abd29164c5ad621cc6e208fc1ae5eeace841d1a1c3cef14b5b304670e31cb196a3fa1727c83c84fd819e7eef868f0d267bc009ba79145b396cadab3ee2dbb3b11a181245cd335998e65b9b33d680d10d28e4d7e4ab827d6455f3a24693e409cd8d055c518be5c8c1ede9d162c0685c81bd32f3753de1b82959fe258628f0ec9fd3a3cac9da6583cc452194773188963bd5d94aa01eb22831122caf8399d44e108e40a30c2d4f9aac26705badca9193403ce7e9bbef9f15281ac1b74228fc8166d9dfc8f7406faef46fff6f07f056b0d5e11dad64635e1dc04392f8334042529a459bfaee450273d0b6975392b7234fca682f4afeed21972857b1a38fc666b0ec7855fc5f7d108657c12f4a9ab6905bbe7d7609b0160449e5af4d22628c278718757734778b069109adb2445d740c9741271c5b3031c0dd4a9e483d9e832d18aedbef385578ccfa6a30f55279420d4dcd4aef7d8d41f96ff22c03a4055d7ee13faa8f9d2452f74460ed36396a5d156875ae9d93e98c55f652803f496ccc493fa60a1d6082a1140dc058730e6337f2c87874cdc3583092feb76b26a3a29a60fb3ded6ef1dad322318b434da6db67b26b25da67d6031abf67aac4dda704ca3a67d90c2c1b550c0282373939c94aaeac69d8d22b2859551404e037f9f5f9b5f8d4cb4ecf65a38f509be752f5d8951eaa57a6346f0c50a40da47632f0df47315e74c64b61f741cfc44e813d9c91e49147577d8aeb2d04bc02ffecb644d303f926342938c8a4e8dad1f9790e0effe772a54f23ca5ff7f5dcd36423017f9bc7ca029141e41be778d3b96b4927ffe7ae54c81a6f3f26bb12167594ac049ee494e9b880e9afec44432aa41636e424ffcefb4c1bd9718c2150f35442af9133b72c771eac1c6fb5c55c26015387f0ff2edfebc97fbb7613d7e9970c5d6a6e03b1f13efba3d2808713908b8a2be502f66a7a336b6e2422c543ad6d5096977ef5944acf717ff83b26c951f8d3714594a630776d26bc251c0f915946c42bec356ecff24b8b4c3d8c9cf502ced8e04a11dc6127724c34aaa4896f8465a791ae04028972795ccad5f6e76b39904eb9cae68eaea9e8c49eb1be251de6d0e4ec6942f4eecae122ae214d43e26d646af75fdc254cd35aaa0c2536d62d0836e8a23d1c06323029d54f84cfb54e4cf840b42aba550242fb19cd09712f0ac4aa6ae1c30adb7fbe0515b482b53b763832accd55cb5f299b3535670e6fa99c5a477489c57416878be672548140a5f3bc67845de051d5912b290e5fc338baf6072d034be1d02e9da1fcf4684b9aae6940a691668e6fc07cf3fe7cb8feb1fe045599fb8c57e8b70bc7f924ab08a3cfe9a694a1b173cda85ff15037e72e95cf1045b7ff360184ee130cb0acccc6427c82426d4484845f33c1f7e50403b10b4ff52595cd904b70b57f0b887d7a1209965442b6a722e4ebbaddf134e482954dccfa85e8f7f98ea89d9368d4409daaddd98a19f9631c25931c4f8d675b0b705c75ad3781694b3f49c21ef2cc3f654ae4ac89ac68c2cff532f49b40ea718b73e3dc15f25a9cb6f72b99ac43916fe0086b6870da88e8ec1f5facc010f56c833f6de230223b2289839aae5312c1695e9fc71482673c40fd97c463fe0a2125a62ee1489bc09fdbb76f5ffdad6b3dba5043ef2033c9b0984c73d1c7dce27a1753a76255c08fc63b4d7b1d446566ac8f6658daf6413ef9a022608ce875f70404fe1c94d520dcfae75152b774c4d7000c4456d45b2b36570b873700a3cdfed6205832ea1a56294ecaaef2880134f0f388d684481ed070bfc1a2a341eb3fb276f691ace75d43c1934d3e91da8005ad62a4dcbdcc072ef3696a4d9e24e904f08f9075a9aa7f22c0de154f4184531e8b18b398880d51786c1071b36d0bbae9913f00da09c45420ef440a70d407bc7704ada557726b5f05a6310467ad75ca33850830119e3d795f51bf75423f043e67b133939dd083404f949d227255a8d781bdbccd8e9575e42cc95fde7e199df6a417ef60ba75d42f859411540661b4623098750ac3c162e9e4de24a25b575f4175e2083eaa18d2e88df32c939118da36ef9a9c138dd602775098a38365968714646c7958964ec28881886158c7b32848afede56fdf8d01ca52483992ed57659e55caf33e7bf2e1436b0cbab5490eb30505237dac7798824c747a6c3c299b6a4da328d7120f457cc0f3e86354b0fc4a3a7165d559d3628cdc5cd6f2af7bc27c37e5c5ad4c66b8262cb1800562a9ae85565af38f1c6493d7f2771e29a0bd34127ac6720eb922d3a02896d79676ff6c8ed5bdabe9304aa54f65e4feae3a83003b093317d5a5daff67c79348b4db9ae55b53cbdf0c3f03fa462087d10dd851cc17b7da5ded120873320f80859c1fd3a10e29479e996ae4ae41ea11d030d84b31fb60b5d1f855132f39e3b47dc710b1baf41f526b5e9b6e17fb031ab915a6172bb73d49a103fab344ea84de9cd9a12b2a0a751e95821f7777875e59216418b827a0d5b3eda835a3bead459412e08616cf2f4280cfe256e5de48a1c33137f8206653286ba1b2d405529ec38b6e1a9eaca673d034a72dd53e941a9dadfecfc4a778711f01817219a0b7cda802a3d279d67c764a36bbf5f58f40d28c45f05ab45521bfba474e8c6590bcb2b87326efdc540f1f423d3d68a0660a30e3ea3a14c508d9ec94831050c5ee06bc6e694e68ebc8b7e94009c2b84b5f756e9a88716df42d2f4869ded48294c7114bce8c9842b1356d870149095eb72bccc762fed4900ce3db6d853df533f0ed5ffd579052e49875c10c3ee5ce0219f34098993573f3194fc5f95bd0960eec6bf1684aa7a7eb97fbb00338eb066e92902929075e2e7b47bab920be9cfdf63c855b971cf26a757a8a7c99d16e38e86c0716a89213c8b54bdd6610952488fe8c6fc8c6c694ffc4c9010aad32c307b540aa07c9ff5c3ef1703523bae84cbe0fb413f11cac261f479777dfc120fcf6f141a6b2822ff03c46cfd13c1acc0529fa61f860843d8900a5a3c31826b4edb4faf3fe13092722ef630967be5cc27b045f77e5d2db24cc5d8ed5c153046dfa587a24387ad309355bedd4be44ffdf05a71f1ef385a2101a9dd407a2b275a35d5de0f7389f13c2dcb6390ff557d84d8357b2719acbf56e3a854b8f7972b11b2127258e962cb5e2464e8d67a8b0da3f46bb63ed096b083be1ea4f8dfeab19b52adcc502e6b221e02ba5804d641377ed86c8186705c238b99cfa4e5ee8c8e2684d2668eaead745b8fd3332b0ac75dd4fb3668dfb8b40fa6d1fead976f6c185630083246c946acbd18fba95ebf4c837e6e3c7026885849ca88c25d01caa4fa8d97dcedd873bab5f65cd8a27ffbf18a5750ea52c950053f81632e0b26d8ef07e9b9be780d0403102576ec108d60a16409256a09900568ce684953d7e0fafeb9e9179a8e98e0c006079138c12365e426215ef6c721adbf612e5bd17d5b441248f268afbac9e5fc601e81075423939527cccf1d9b381a3eb4786e9cc828d0f04aa058afc08287bcbbfdf985f4a54695607343b71ed0385429b2f20af2a562f81f0d3f1ff06c35277f590ad4fee7cbd4704f889bd718c242280be786e66b5aaeb24c0e6e58f3433dd25278e2d07323a564e205d8117463ae82ee61be1dbb871a8b4c31dc570814c23da3fd102f4293ce02d66090f6f906e0cb573797b4291ac080112ed42699291be9bfad7077d9ad5cafe35c7740b52e2c2c841d032f4a27c58fa13adf71133bbb8e61bdef82c9fc3af95a3249a73e0990707a757339a09d0a759039a1be13308107c42c386bda3236ac3db4f795cfd7f18bc86986b139a061f636f0cd0be18dd5e161321f3e7b6f05bf09450856d950ee4039ae8c619155160075a81fcddb194ad026a764cc5ea4b6bc71519ea63fdfb46f07c2d27350ba76dc4019ca596157e685bc07b0e83e89b1f51068b111e0a48f488102e7157812f22ea62467aa4ba2b37e56d64b17e5c1d8338a828a9572a00293b6facd9bc70a4fb716f47730fbd72e0ca7524994974694be80b7e71a279fc545fbc1a2090e2c456955842ce1256428fecd118f9c8a6b513e597eb05b96f54da7828e515566653c8334b5c305ee63a388bb57502f3a12849a8ad7a3bf2ac74b615f5f6b86f13515912a6264907185b64e89751ed1f9ed2189e4cda9c8476c7a4c9087893a367e2cc34419a1d0088a8ce8e8a10c06ad2a2bb9472043975ce6cd56458f3e45176b77ef78c8bd155add6014b726be19c132b91f26dfb1afd243e8b219797e45c75c5d9fd30bdf3786ffe6bc014084f5d835e0983a37e0ec0721b914e08e850c2c51d1a45ebf237af6dd05aeca88570ba80e39bffec3c09fc489562cedf29e74e8d50b798c39420c1c2f5bff8c3bef72e15d6bc3face1348695000e0feb245eff79065a2fe9fa854504e1e1e4fd0c089d4e39d94f2f05b45a4678d33e653f7fbf6391d9e4dc7d7a49fd4c89f20655ec4780bc91e880cc738689ce591e979740bb7559dd0cb662eacd3ec05ee5f708fad1abf38ecf1ba595e9651500e85202a48ebb96d33b8b8f342f2625539f900fe62e8932e1020bb5a57fe35b61105ecd1562d73b9ccf3279156d317752e14341107425164d122c26ffc1feb4ddb892a5f5fb7cca84a59c79ec4e0544bacde52e55977fd099a53cba1af0e788baf2587f2bd953a2c16890842c279dc031b4700cc007c3210dae96616fccae51d3f5d56eae860bf0eaf671d919cb90e5a7cd452befd189e927dcb2adf81ecd19e63c25faf402d5839acdcc527749f4fd5bde8af9a8378a886750aafb088f9e097a02137e5399cc71243b9599ba7e858e6e30a316bdcbdcf6ca720d75c4944a1677e9aed0125cfc7c2e013003dc20f97a98ce4330e0c524b141d88b380564b993201b002799ed95f298d701e9c7ec2bf501e1f15bcb4b43df8c6b169148a383f09d7c74b5564c8241662c5e3c049baa1be7269561b0b69b10e44a397e6bb1e1f78d58e7fbb033d58e28e338752e082d639d751a8fc594dd9568c170290e5315aa0db33688d1bd8a4c04db4f49baa399b617350318da0e8c1f37437cca09fa9463348aa8545e36cf32288a2a77c70da2bf9d5651c70ab1b1ade348f18cc64e0a1c173f65297855a753d6689ab616681d28da0a3475487750ef174e3bcb12f965964b64b6ebcc6d44a4ce4352e2aa766ff8e622978428e47d58610077af85f303e84d4d5a9a553b2c849f9e162e47978a0a1f4ba8a60e2823b8abdae2648a6120f78a83e2922059cb7ee12bd3008d1a56ab882d1708b4d8177f41c7ecc6440e650f336721711b3eed1dc458d880db35e00df293c2610ce7091439e6f8d1b29e69f32a8ebde62d2610782daabd243baa8230dd7451e2cd5c37544d3498de5e932d2e4bff77bf1e812ba0c0e450a45824786949adc31cb75ae07b4e1090f4b99e0efad665f2288bb13a28de69bc82374b61e75477dbc8c8834d0c4454b12a49c5c270683ffc57b2778c36437fc2dddadb82b4ea0c6dcac0f83630f90322a5a70de0c81b3289504eac2a1247a7d267e2b0b9974abb6176e38f9e425364b4c2af48c833eecb81361a34d5584ed2d9816b26e8aba592694a6bef145461424c0e4d1", 0x1000}, {&(0x7f0000002940)="ca8d3bbce76683d69be8f5e8cc6057d8ad9bae232df8c26eb901b13d0ad9bab7aa281493baae7519734c98cc33fe67ddf4ce825b78fc1dead25255c67f7a173d4bdf953372569eac502bc08f2c16dbfaeab41e75250a8d2b288f54db25bed9bebc0635ec02b4f2e60ba8a882f004d5b430a5260b81be775a947ec2515e5ce532969399c4697ac5c958053b9e6116bd7a2ef26d22e6307e828442932ef404c738bfc9e1175ff8cc9df3267395ff582bfc1ec800ce507c3a8d120e075907810953f785b444b1c485ced5940c3f7fd2e5b536ecabb5155c471dc528713fe21f30fcfbda2b1b6dc8ddc7bd04208658a30828bf7cbd2c8a1406fafdf75330feb1abbe1a00332eaccfbf862665a3d8b7a7aba8f2409b2c30ca2334053141599f18cf149f81e5fa086326ed161f00409f3352fd46f1fe9ba3c1296e78a38a1da109a70d30a797cb545a5f02634af3f6ba3a047720ce1a20f1207ce753633b38386a40fe00876c0c88e33b95fdcdf90c5df62f650c3d7d2a0980815627f1f89cb9621ce6681e7602510f47850ef37fa17b9b82f5000625dd63d908e1f33fa56e474df41f4d8ffaeffc9102c23d2d66a1063922f40d823e25eaa985b28726f95855f6d31de431830ddc968680105a959cf3e4b3d4c8a68c6925bad3d167b584b9a6dff56e71498e389cb1256a917b46e7875fdcbd852fabf060b9da8264192c270958698450374022648741e4a7b622a2d0c48d58cd9d6443bfdefa1af60572258cdf3daf92b4e2c0a7adf0a26011cbb60555303d4c98660b3053b051e2a2a33e2c5847b3a094478389d15a4020e72e4576c79d4ecb22eddee0781a44d3ae62f65b0ea4cf055c8a018774f718cf484c08998f43ed9aaeaa9a054b51f597af0b04e617aed98e21d138d87e99f4a2c0be2c9a214011b5eb79efff6ffa19d863b9ff1b92d9cdd4953a98340286580cb3cfd1852248dfd36b051ffa8abd2b5191088b5fe0f8defb436f41dadc8f915a2fa8ea5c2aab03c20a3d05cb54f01bffd2acf3f8d8164a68626bf6e4eb842bd7a354e5d0635a2361de6c75691a33a9ad25aa3aeb4e989b8766470be82d56cea8d7af2b7f3554874c5105909e9f1454f2af0f2a24d91785dd82e2150744accfae0345f2f87295739c3d69f71ceecbb6cad150add635522b1878b4d4d30e1b6d560229fce2358006305ec0d19790cc573774172cf72285b74fff5099ad9ffe41a977871a9e06b6960fa189baccaaa8fc4911a2eb2068a4e26f80a9b2fe2c38681597efaa383814f4ca8cbc75f902ed12982ddd5f35412f70b84db7ce495f715d64cb5a7439200afa9befb62bb8b1e9d9bc47ec073cc521486740778d023620bbf94a9d65818f46041c786d78c25b33b78253cc624d79111322390d8e1412dafe0e7e74288f7acd16518e40cecfeccc776b7c119b33c583a7b35bcd68076cdc70d613c6b1740e42a61ec58c32b46ee0ddf4a12f0422535239b9d05ee226251f24af884b030ed7aee02b6aeb08d0da16148432bdecd1ede107bd2b7605a842595d3111b9d70db2f2d75bc468158dae907f87832a32554cb9d13d70812458d974730d5a16e8f1847b5355b3421078a8b9f5471b9d13fadbb6494af1613068bd4c080e14c7a74150a6f07bd58bda06ae7d1a0ab9d61c027fecb588110f464754420dfac6725427d390fa92a52b974664a3450cc6c2b583ddef0f5626f13d9fb0c9b922084f86977fb3bbf711da7dd9542cb76a044f837d3068d425edb146f75c50d577418066838d8ac6fe9b290cfd0f2bb261c77d90ba6847a2ac8b2674d15645d82b3b4e96be7ba45713b87bc8f2c4972d01de9e26926cec3ee98e07660e44ff3b0d9d8b8c2fcd571443f6d6293617411ff65b7b44dc242216439660cff35406edb8d8188d502b1142e529a0df1fdceb0682dc4ca526a54e793ea2d05143e47d395736afa967aad30622420120c46d2d67231d843ac1090959d537c94a55257768f98c0d9586904e5286b3e97e1e347317da5ec29edd937cbf6930aa5fe8221bd41d34b5b95283851c1349e3a6d613ab798211f36977ad8adffae33fd93745a64cbc93e160bb3a74ffb0dfe1bde748ac12cac5f370ef3b62223ba0c4d8a911bc414f5aaf87bc92253361e263ab48e46ee80255a1b6a8b2fd4313b569726b6f6c8f7dbc3cb6b0c562e39262b6df25bb30022018428a5cdfc40b978b467efe127f90789f4420b5d87109b65607c9c242fc828edaffd80540e1794d5084ea3b11154f9d6b830bbeaa3b73a5836530bcbfcc7269c9744b53d3d3c49eb291a84cfc4cc219498dc0b3694b6d3fcad485bf23c271da873bd2fcb9e38dd680252845e491dcef6f20931270e935c3c13f99256b39fc9ab679df8367970b7efdb992c07891a5289436cf50d06bd784d246370d79a2a35847660b050b55c28d956e3c804a86b9d398f9e4eef200df923df4b781f13bed685aa7db3b7183bff11210497a3451ba27926d34c1962cdef7c77acb87272cc7fa2577b206a847ae457028aaff8af268af75a9c88938ad90e83f4cb0d70eb479564071bf94a0d5b80a839f558fee74520a709eda0a0f9bbb1d71081fd22ac9e995c722c2501ead96f7689dfe26131773c30f4183669007df15765d82fa67c377171afb3e73064ce7fecbf737870297f7adb76032c7f82ae67d197a846ce3294ea0b76f202da0a735fb4731e3c9bf5ecf0e66136aa053ce2783acaa5c3f860388386bb3fcb834862dcc249132ee2b58f1d4b244c90b94a97c351fddd86fac7e148174395c759e4aa97954238a1c8bb2f9d907f0ceb5d91177058eb532a9adb1aad658d2bbedf84cd6175c8749dcf859357a76ef2d6b8ac40a72db912f7ded4c2b19e9304ac83d55950fa22663eda3fb49fbb0dfc9358bc55bf72917febdaa04747aa2de21751317a774281883f67d5b710c37a02df9099f8698eb40879d3c013f17fde08d156d31d75be24ab1318f6b1944444fdf5475510e785a13e5e394fb1ac865c5e93664d31b947fe9c8f166f7413353d1ab04d5eade4ab5aa1cf2b704b70fef42bc128b04c172c3977996ec74a2ede5d824f89ea95e8c0311f425c541eda90e3f19ab81cd1c770897e66d55d6a0f3bc7671a6f3a82bb032554df2ba9dc2bb49fe989cde59472fc6c729d4bb6e985d0f35ecc6c10c8a744ed9e3addefc8d8014daed879866e8f82ab7fa163b8aa119f6ece42bd72d109756f5acb516f4f3ecf3557394029642072b6d52a70f9274c04fb8811b3314d96755d934dc8f46549062bbe4d58b4e52f0656597494464d70c7486cd1476f3aae468df9974326bc4cbb413dc9f7cc89198a835bbbceef728d18532a123414b299ed6add1d85e57663fbbf655889c23977fa1041270d6fdab8f722d4e22e3f5bb5ae130c1d7a5e04e81a513664cd98ef461ea0a390b67090e27aeca4dccad4721327ae36aa360d60a6910a72842a635a1c6290237073d3905fcea91a5a9b261e292d58a914e30cdedbbeffbe977f3dba6f7a869dc5089b24b7a1c7bc590c6c5d661a94a330cfe0a0f50cc2f628d6df607d1a531a3a20cad0bf3947f7a4156bfea95a386f78119c3c20cccf3a419b204fa342889e4d80d08c9a630bd60083e7ecb61e404dcfe262314e9f9ac2d2065dd8e2e8bdff6bf8f891f5b813071bee60253e1a5970f45fbee3a30df2f73c5604c0a066cb2bc91ce67e63abbe17e6763873b6c2ad7b2a9081a101102cffbdf79d75acbc5399b74d4a752161e842ce14df81bc097a0c2bd744a784d6e93a3623a8b69e47265263e3317ed8522d20c6fec5f27dfa271a8750ca6210c083cdfbafd85a2047d2c15f90f791a4eb9effc9e94b5adfbd90fe5cc0357016ac2d4c7097ccef6627c9d7cf8457100418d9bffbf62d2255ba1c55c935441c23bbcd88d519488389af823e12081a0f8f428f1280036cc830ae3995769e3f9571933ad2bfb0e7237f32d89f34c57b9b77f833e9a98c1deb42c89767b9f76d0c412a4c9593f6186ae92280dd9986dbe81241ee672ee2cf051dc076f8dd4bc1c0934356fb80925cffb7e99a0ae4acf9d07311cc45a4bf370e461fc1867d385c153da902e7681fda68f67d97c7fc23c7dda60c983eb2ef3533fb0a5f9162aba2838b4d20359b730a0e980262fea06214c57ecd33ba81a55e56fd2c30bda58aaf7e2a199fe7189387df8d0145e2e966c3477a63faa602105272479b14e05735175b8d6450e7899c22b344f00ec7fbbcaaee7749810f7abff3828d7923d7522d893f3a654f3e7d94e56340f66dbd0c39d6369710509a53b98b6bbb27e63c642f78b0a099c5033cf35d792ac0c1aa094a2e8f642abd956de5cf1050d7ebfd724194575a67a6db68d7468d55d9565c60551c14ae08d6a59200538e757dd5c1ad7a37c0e4e548173e0e534c1f60eaa119982c7109db4b0b10ec910649e049022c70e92a9d424c0de0c4feda50debe1f175dc4f688497f137b400c907736bb67ba5e65067d40cf7a3500c8281cb909bb9a5b3da84bae543c140ba83828f183574e5f55b7c371b4700086760ecdc85809da8c090319d821765d51073e922a7c70737b17d4579763a89d9f960f2e9b24cc3d91ba38cd75b72f0c691ddecccefc2a9f40642fb55083c723236681c9a3db87ca839c51915786163d3387536d6810e51dd69be7072ade4c3a3c13bba38df945dd6bb11dac3f999efc784e3d36cbcf2e6a3eca453b81773e3d3ac535381aafab71d951a8702417a2c185f9ac47622f2f81b4714fc06b91bbceea93dd3e07bbf7d9c789b71373f7c82aaac683ea48f6513f593dae0434bdfabc08001039228f8dc7981c5112d12bf599feb04192e8367806745a0610c4df030993bae5b3081444fe964677585ba7fe6cf405d5f883a1e7075c2bd0fba299d4de710b6021b2fc67f4482fd8d98fc7692f4794bc1e9f5ec54226a136ac2ccf999637b9fdac39f278a43b48cdd0ffc61697d2d381198e3c8777d0254585fdab52a20667a5d12fbd9c9cb405e2fcf91b056c817a63ae0a61711279f1b67b214eaeb9b5031454b35afa5bd11e165b01c0d06c9cae5b46b87e407ae4c74e820d27132b1f3b833d4583caeb051d318ebc90e1ee20bd42ae5bf1f1d90b089c1dcf529537b6e93aa2a52f2b5957fb18501105e5755a464ef51444101742882a40e88724bb8823f154bbf30fab5de8a1c8c1da2bd08b1850e8251001cf6bff66c8c9ac84cce07c061af944a6dd1288f80ef77a71135d12206", 0xe90}], 0x3}, 0x0) [ 337.858500][ T7244] loop3: detected capacity change from 0 to 264192 21:00:11 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x6, 0x4, &(0x7f0000000000)=@framed={{}, [@alu={0x7, 0x0, 0xb}]}, &(0x7f0000000440)='GPL\x00', 0x5, 0xb8, &(0x7f0000000480)=""/184, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:11 executing program 3: syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:11 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, 0x0, 0x0, 0x0, 0x0) 21:00:11 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x6, 0x4, &(0x7f00000003c0)=@raw=[@ldst={0x0, 0x0, 0x1}, @btf_id, @func={0x85, 0x0, 0x1, 0x0, 0xfffffffffffffffd}], &(0x7f0000000440)='GPL\x00', 0x5, 0xc0, &(0x7f0000000480)=""/192, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:11 executing program 1: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000005c0)={&(0x7f0000000500)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x5, [@volatile={0x4}]}, {0x0, [0x0, 0x0, 0x0]}}, &(0x7f0000001940)=""/4096, 0x29, 0x1000, 0x1}, 0x20) [ 337.907878][ T7249] loop2: detected capacity change from 0 to 32776 [ 337.935886][ T7249] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:11 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, 0x0, 0x0, 0x0, 0x0) 21:00:11 executing program 0: sendmsg$sock(0xffffffffffffffff, 0x0, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000007c0)) 21:00:11 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000007c0)={0xffffffffffffffff}) close(r0) [ 338.035882][ T7263] loop3: detected capacity change from 0 to 264192 21:00:11 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) r1 = openat$autofs(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(0xffffffffffffffff, 0xc0189375, 0x0) write$UHID_CREATE2(0xffffffffffffffff, &(0x7f0000000780)={0xb, {'syz1\x00', 'syz1\x00', 'syz0\x00', 0xb9, 0x0, 0x7, 0x4697, 0x7, 0x0, "ee338e41da3be5da1a35bbc509dc77bcfce45a358bc7525be249430c76e79f5e93727b57785f2427b3f3c0726f9756cd7c3e2e7a676213d3386e902ec1dc660529872f161d22beb4351c908a5a566fa3bfb261098bbce217c9aa5fd42b4b8380e0f92ccff1d11ace411fb6bfd2a4316e3c7241da65e39e182ec2daa08585484b7b1900fd08a87a29432c45204faa95de7dbf936a980e83de90d08bf9495be3efe4ce1ed87fcae3d2734c38b4d877eee9e440491bb41ed78cf2"}}, 0x1d1) syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x121804, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002", 0x45}, {&(0x7f0000010120)="46494c453000050000000000000000000100010040000100a001000000080000000000000000000004000000000000000300000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000000800000000000010000000000000001000000000000000110104", 0x193, 0x4000}, {&(0x7f0000010320)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c4530000500000000000000000001000100400001006001000000080000000000000000000003000000010000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff", 0x1b3, 0x47a0}, {&(0x7f0000000340)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000002000100400001006001000000080000000000000000000003000000020000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f000000000000004000000000000000000004000000000000000400000000000000040000008000228000030258821b5d864e5e4f41155954d9f57fa650811a4a76a5895bf81ed28fb90840f668382e308dc328ae0d043e225d40d86ea0d9ffd99fe4527bae40fcac1c61d640e3499263c13f396480f0358fdeb539f1b7a09add4a2d0dfd0ae4dd818c82707996763f8c49", 0x1da, 0x4fe0}, {&(0x7f0000010720)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e801000000080000000000000000000006000000030000000400000000000000000000000000000010000000480000000000180000000000300000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1ed, 0x57e0}, {&(0x7f0000010980)="000000000000000000000000000000000000000000000000000000000000040046494c453000050000000000000000000400010040000100c801000000080000000000000000000004000000040000000200000000000000000000000000000010000000480000000000180000000000300000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000010000000000000000a000000000000000a00000000000021028c", 0x1db, 0x5fe0}, {&(0x7f0000010be0)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000005000100400003000802000000080000000000000000000006000000050000000300000000000000000000000000000010000000480000000000180000000000300000001800000080cdc64237c4d8019472394337c4d8019472394337c4d80180cdc64237c4d80126200010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000200000000000000400000000000000000180000000000002c100000000000002c100000000000002103870000000000900000005800000000041800000003003800000020000000240049003300300030000000010000000010000002", 0x17d, 0x67e0}, {&(0x7f0000010e60)="000000000000000000000000000000000000000000000000000000000000030046494c4530000500000000000000000006000100400001005801000000080000000000000000000003000000060000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801000800000000000080000000000000000600000000000000070324004200690074006d00610070008000000048000000010040000000010000000000000000000000000000000000400000000000000000080000000000008000000000000000800000000000000021018e", 0x16b, 0x6fe0}, {&(0x7f0000011280)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000008000100400001008001000000080000000000000000000004000000080000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe03000000000000480000000000000000f81f000000000000f81f00000000000000000000000000240042006100640002ff03", 0x193, 0x7fe0}, {&(0x7f0000011480)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000009000100400009000803000000080000000000000000000005000000090000000300000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801000000000000000000000000000000000600002000000000070324005300650063007500720065008000000050000000010440000000020000000000000000008000000000000000480000000000000000080400000000007001040000000000700104000000000024005300440053002281008f0000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000200000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000003003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000002000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x31d, 0x87e0}, {&(0x7f0000011800)="000000000000000000000000000000000000000000000000000000000000030046494c453000050000000000000000000a00010040000100a0010000000800000000000000000000040000000a0000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000003f000000000000004000000000000000000002000000000000000200000000000000020000000000214010", 0x16b, 0x8fe0}, {&(0x7f00000194a0)="10", 0x1, 0x46080}, {&(0x7f000003a4a0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x1017e0}], 0x0, &(0x7f000007aa80), 0x0) openat$autofs(0xffffffffffffff9c, &(0x7f0000000740), 0x0, 0x0) 21:00:11 executing program 4: sendmsg$sock(0xffffffffffffffff, &(0x7f0000000780)={0x0, 0x0, 0x0}, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000007c0)) bpf$OBJ_GET_MAP(0x7, 0x0, 0x0) 21:00:11 executing program 3: mkdir(0x0, 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:11 executing program 0: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000040)={'rose0\x00', 0x1}) ioctl$TUNSETPERSIST(r0, 0x400454cb, 0x0) 21:00:11 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000), 0x0, 0x0, 0x0) 21:00:11 executing program 1: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000900)={&(0x7f0000000780)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x18, 0x18, 0x9, [@union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{0x8}]}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}}, &(0x7f0000000800)=""/247, 0x39, 0xf7, 0x1}, 0x20) 21:00:11 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x6, 0x4, &(0x7f0000000000)=@framed={{}, [@alu={0x7, 0x0, 0x0, 0x0, 0x0, 0x20}]}, &(0x7f0000000440)='GPL\x00', 0x5, 0xb8, &(0x7f0000000480)=""/184, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) [ 338.178589][ T7273] loop2: detected capacity change from 0 to 32776 [ 338.185891][ T7273] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:11 executing program 1: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000200)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@struct]}}, &(0x7f0000000100)=""/246, 0x26, 0xf6, 0x1}, 0x20) 21:00:11 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x6, 0x5, &(0x7f0000000000)=@framed={{}, [@alu={0x7, 0x0, 0xb, 0x0, 0x0, 0x20}, @call]}, &(0x7f0000000440)='GPL\x00', 0x5, 0xb8, &(0x7f0000000480)=""/184, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:11 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000), 0x0, 0x0, 0x0) 21:00:11 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x12, 0x2, &(0x7f00000003c0)=@raw=[@btf_id], &(0x7f0000000440)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) [ 338.233411][ T7280] loop3: detected capacity change from 0 to 264192 21:00:11 executing program 3: mkdir(0x0, 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:11 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg(r1, &(0x7f0000002c80)={0x0, 0x0, 0x0}, 0x0) recvmsg$unix(r0, &(0x7f0000001400)={0x0, 0x0, &(0x7f0000001280)=[{&(0x7f0000000140)=""/170, 0xaa}], 0x1, &(0x7f0000002cc0)=ANY=[], 0x138}, 0x2) 21:00:11 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x1c, 0x2, &(0x7f00000003c0)=@raw=[@btf_id], &(0x7f0000000440)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:11 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) r1 = openat$autofs(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(0xffffffffffffffff, 0xc0189375, 0x0) write$UHID_CREATE2(0xffffffffffffffff, &(0x7f0000000780)={0xb, {'syz1\x00', 'syz1\x00', 'syz0\x00', 0xb9, 0x0, 0x7, 0x4697, 0x7, 0x0, "ee338e41da3be5da1a35bbc509dc77bcfce45a358bc7525be249430c76e79f5e93727b57785f2427b3f3c0726f9756cd7c3e2e7a676213d3386e902ec1dc660529872f161d22beb4351c908a5a566fa3bfb261098bbce217c9aa5fd42b4b8380e0f92ccff1d11ace411fb6bfd2a4316e3c7241da65e39e182ec2daa08585484b7b1900fd08a87a29432c45204faa95de7dbf936a980e83de90d08bf9495be3efe4ce1ed87fcae3d2734c38b4d877eee9e440491bb41ed78cf2"}}, 0x1d1) syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x121804, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002", 0x45}, {&(0x7f0000010120)="46494c453000050000000000000000000100010040000100a001000000080000000000000000000004000000000000000300000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000000800000000000010000000000000001000000000000000110104", 0x193, 0x4000}, {&(0x7f0000010320)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c4530000500000000000000000001000100400001006001000000080000000000000000000003000000010000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff", 0x1b3, 0x47a0}, {&(0x7f0000000340)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000002000100400001006001000000080000000000000000000003000000020000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f000000000000004000000000000000000004000000000000000400000000000000040000008000228000030258821b5d864e5e4f41155954d9f57fa650811a4a76a5895bf81ed28fb90840f668382e308dc328ae0d043e225d40d86ea0d9ffd99fe4527bae40fcac1c61d640e3499263c13f396480f0358fdeb539f1b7a09add4a2d0dfd0ae4dd818c82707996763f8c49", 0x1da, 0x4fe0}, {&(0x7f0000010720)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e801000000080000000000000000000006000000030000000400000000000000000000000000000010000000480000000000180000000000300000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1ed, 0x57e0}, {&(0x7f0000010980)="000000000000000000000000000000000000000000000000000000000000040046494c453000050000000000000000000400010040000100c801000000080000000000000000000004000000040000000200000000000000000000000000000010000000480000000000180000000000300000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000010000000000000000a000000000000000a00000000000021028c", 0x1db, 0x5fe0}, {&(0x7f0000010be0)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000005000100400003000802000000080000000000000000000006000000050000000300000000000000000000000000000010000000480000000000180000000000300000001800000080cdc64237c4d8019472394337c4d8019472394337c4d80180cdc64237c4d80126200010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000200000000000000400000000000000000180000000000002c100000000000002c100000000000002103870000000000900000005800000000041800000003003800000020000000240049003300300030000000010000000010000002", 0x17d, 0x67e0}, {&(0x7f0000010e60)="000000000000000000000000000000000000000000000000000000000000030046494c4530000500000000000000000006000100400001005801000000080000000000000000000003000000060000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801000800000000000080000000000000000600000000000000070324004200690074006d00610070008000000048000000010040000000010000000000000000000000000000000000400000000000000000080000000000008000000000000000800000000000000021018e", 0x16b, 0x6fe0}, {&(0x7f0000011280)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000008000100400001008001000000080000000000000000000004000000080000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe03000000000000480000000000000000f81f000000000000f81f00000000000000000000000000240042006100640002ff03", 0x193, 0x7fe0}, {&(0x7f0000011480)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000009000100400009000803000000080000000000000000000005000000090000000300000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801000000000000000000000000000000000600002000000000070324005300650063007500720065008000000050000000010440000000020000000000000000008000000000000000480000000000000000080400000000007001040000000000700104000000000024005300440053002281008f0000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000200000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000003003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000002000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x31d, 0x87e0}, {&(0x7f0000011800)="000000000000000000000000000000000000000000000000000000000000030046494c453000050000000000000000000a00010040000100a0010000000800000000000000000000040000000a0000000200000000000000000000000000000010000000600000000000180000000000480000001800000080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050080cdc64237c4d80180cdc64237c4d80180cdc64237c4d80180cdc64237c4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000003f000000000000004000000000000000000002000000000000000200000000000000020000000000214010", 0x16b, 0x8fe0}, {&(0x7f00000194a0)="10", 0x1, 0x46080}, {&(0x7f000003a4a0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x1017e0}], 0x0, &(0x7f000007aa80), 0x0) 21:00:11 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg$unix(r1, &(0x7f0000000900)={0x0, 0x0, 0x0}, 0x0) close(r0) 21:00:11 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000), 0x0, 0x0, 0x0) 21:00:11 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x6, 0x1, &(0x7f00000003c0)=@raw=[@jmp={0x5, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff4}], &(0x7f0000000440)='GPL\x00', 0x5, 0xc0, &(0x7f0000000480)=""/192, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:11 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$inet(r1, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000040)='\x00', 0x1}], 0x1}, 0x0) recvmsg$unix(r0, &(0x7f0000001400)={0x0, 0x0, &(0x7f0000001280)=[{&(0x7f0000000140)=""/170, 0xaa}], 0x1, 0x0, 0x138}, 0x2) 21:00:11 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000)=[{0x0}], 0x1, 0x0, 0x0) 21:00:11 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg$unix(r1, &(0x7f0000000900)={0x0, 0x0, &(0x7f0000000780)=[{0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9}, 0x0) sendmsg(r0, &(0x7f0000001900)={0x0, 0x0, 0x0}, 0x0) [ 338.417650][ T7300] loop2: detected capacity change from 0 to 32776 [ 338.435920][ T7301] loop3: detected capacity change from 0 to 264192 [ 338.446568][ T7300] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:11 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x6, 0x4, &(0x7f0000000000)=@framed={{}, [@call]}, &(0x7f0000000440)='GPL\x00', 0x5, 0xb8, &(0x7f0000000480)=""/184, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:11 executing program 3: mkdir(0x0, 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:11 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) r1 = openat$autofs(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(0xffffffffffffffff, 0xc0189375, 0x0) write$UHID_CREATE2(0xffffffffffffffff, &(0x7f0000000780)={0xb, {'syz1\x00', 'syz1\x00', 'syz0\x00', 0xb9, 0x0, 0x7, 0x4697, 0x7, 0x0, "ee338e41da3be5da1a35bbc509dc77bcfce45a358bc7525be249430c76e79f5e93727b57785f2427b3f3c0726f9756cd7c3e2e7a676213d3386e902ec1dc660529872f161d22beb4351c908a5a566fa3bfb261098bbce217c9aa5fd42b4b8380e0f92ccff1d11ace411fb6bfd2a4316e3c7241da65e39e182ec2daa08585484b7b1900fd08a87a29432c45204faa95de7dbf936a980e83de90d08bf9495be3efe4ce1ed87fcae3d2734c38b4d877eee9e440491bb41ed78cf2"}}, 0x1d1) 21:00:11 executing program 4: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000900)={&(0x7f0000000780)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x18, 0x18, 0x2, [@func_proto, @union]}}, &(0x7f0000000800)=""/247, 0x32, 0xf7, 0x1}, 0x20) 21:00:11 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000)=[{0x0}], 0x1, 0x0, 0x0) 21:00:11 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg(r0, &(0x7f0000000300)={0x0, 0x0, 0x0}, 0x0) recvmsg$unix(r1, &(0x7f0000000900)={0x0, 0x0, 0x0}, 0x0) sendmsg(r0, &(0x7f0000001900)={0x0, 0x0, 0x0}, 0x0) 21:00:11 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x6, 0x1, &(0x7f00000003c0)=@raw=[@jmp={0x5, 0x0, 0x9}], &(0x7f0000000440)='GPL\x00', 0x5, 0xc0, &(0x7f0000000480)=""/192, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:11 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(0x0, 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:11 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000007c0)={&(0x7f0000000600)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x18, 0x18, 0x3, [@union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{0x1}]}]}, {0x0, [0x61]}}, &(0x7f00000006c0)=""/243, 0x33, 0xf3, 0x1}, 0x20) 21:00:11 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000)=[{0x0}], 0x1, 0x0, 0x0) [ 338.602784][ T7317] loop3: detected capacity change from 0 to 264192 [ 338.608729][ T7322] loop2: detected capacity change from 0 to 32776 [ 338.633974][ T7322] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:11 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) r1 = openat$autofs(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(0xffffffffffffffff, 0xc0189375, 0x0) 21:00:12 executing program 0: bpf$MAP_CREATE(0x0, &(0x7f00000001c0)=@base={0x13}, 0x48) 21:00:12 executing program 4: bpf$LINK_GET_FD_BY_ID(0x1e, 0x0, 0x0) bpf$LINK_GET_FD_BY_ID(0x1e, &(0x7f0000000040)=0xffffffffffffffff, 0x4) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x18, 0x6, &(0x7f0000000080)=@raw=[@map_idx_val={0x18, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, @map_idx_val, @ldst={0x3, 0x0, 0x0, 0x9, 0x0, 0x2}, @jmp={0x5, 0x0, 0x0, 0x0, 0x0, 0x50}], &(0x7f00000000c0)='syzkaller\x00', 0x3, 0x86, &(0x7f0000000100)=""/134, 0x0, 0x10, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000200)={0x0, 0xb}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000240)=[0xffffffffffffffff, 0x1, 0xffffffffffffffff]}, 0x80) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000480)={0x6, 0x0, 0x0, &(0x7f0000000380)='syzkaller\x00', 0x10001, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, &(0x7f00000003c0)={0x0, 0x5}, 0x8, 0x10, 0x0}, 0x80) 21:00:12 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(0x0, 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:12 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg$unix(r0, &(0x7f0000000900)={0x0, 0x0, &(0x7f0000000780)=[{0x0, 0xf0ff7f00000000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9}, 0x0) [ 338.708680][ T7332] loop3: detected capacity change from 0 to 264192 [ 338.746886][ T7332] overlayfs: failed to resolve './file1': -2 21:00:12 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000)=[{&(0x7f0000000080)}], 0x1, 0x0, 0x0) 21:00:12 executing program 4: r0 = openat(0xffffffffffffffff, &(0x7f0000001640)='/proc/self/exe\x00', 0x0, 0x0) pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1, 0x10, r0, 0x0) preadv(r0, &(0x7f0000001580)=[{0x0}], 0x1, 0x0, 0x0) fcntl$dupfd(r1, 0xd8debf3d96f78fa5, r2) [ 338.785366][ T7342] loop2: detected capacity change from 0 to 32776 [ 338.837024][ T7342] MTD: Attempt to mount non-MTD device "/dev/loop2" [ 338.870530][ T7348] overlayfs: failed to resolve './file1': -2 21:00:12 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg$unix(r1, &(0x7f0000001bc0)={0x0, 0x0, 0x0}, 0x0) close(r0) 21:00:12 executing program 0: r0 = openat(0xffffffffffffffff, &(0x7f0000001640)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1, 0x10, r0, 0x0) preadv(r0, &(0x7f0000001580)=[{0x0}], 0x1, 0x0, 0x0) execve(0x0, 0x0, 0x0) 21:00:12 executing program 4: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000040)={'rose0\x00', 0x1}) ioctl$TUNSETQUEUE(r0, 0x400454d9, &(0x7f0000000080)={'macsec0\x00', 0x400}) 21:00:12 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(0x0, 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:12 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000)=[{&(0x7f0000000080)}], 0x1, 0x0, 0x0) 21:00:12 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) r1 = openat$autofs(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(0xffffffffffffffff, 0xc0189375, 0x0) 21:00:12 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='oom_score_adj\x00') pwritev(r0, &(0x7f0000000000)=[{&(0x7f0000000080)}], 0x1, 0x0, 0x0) 21:00:12 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000900)={&(0x7f0000000780)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x18, 0x18, 0x2, [@union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{}]}]}}, &(0x7f0000000800)=""/247, 0x32, 0xf7, 0x1}, 0x20) 21:00:12 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) r1 = openat$autofs(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, 0x0) [ 339.507805][ T7362] loop2: detected capacity change from 0 to 32776 [ 339.533857][ T7362] MTD: Attempt to mount non-MTD device "/dev/loop2" [ 339.541261][ T7359] loop3: detected capacity change from 0 to 264192 21:00:12 executing program 4: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000900)={&(0x7f0000000780)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x7, [@func_proto={0x0, 0x3, 0x0, 0xd, 0x0, [{0xd}, {0x6}, {0x7}]}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0]}}, &(0x7f0000000800)=""/247, 0x43, 0xf7, 0x1}, 0x20) 21:00:12 executing program 5: r0 = fsopen(&(0x7f0000000000)='proc\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) openat$cgroup_int(r1, &(0x7f0000000100)='memory.low\x00', 0x2, 0x0) 21:00:12 executing program 0: openat$pidfd(0xffffffffffffff9c, &(0x7f00000000c0), 0x90100, 0x0) 21:00:12 executing program 1: r0 = fsopen(&(0x7f0000000000)='gfs2meta\x00', 0x0) r1 = fsopen(&(0x7f0000000340)='hpfs\x00', 0x0) dup3(r1, r0, 0x0) [ 339.593051][ T7359] overlayfs: failed to resolve './file1': -2 21:00:12 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, 0x0, &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:13 executing program 4: openat$fuse(0xffffffffffffff9c, &(0x7f0000001580), 0x2, 0x0) openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) openat$cuse(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) pselect6(0x40, &(0x7f0000000100), 0x0, &(0x7f0000000180)={0x3e}, &(0x7f0000000200), 0x0) 21:00:13 executing program 1: r0 = epoll_create(0x6) epoll_pwait2(r0, &(0x7f0000000000)=[{}], 0x1, &(0x7f0000000080), &(0x7f00000000c0), 0x8) 21:00:13 executing program 5: r0 = open(&(0x7f00000000c0)='.\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x800c6613, &(0x7f0000000100)=@v1={0x0, @aes128, 0x0, @desc2}) 21:00:13 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) openat$autofs(0xffffffffffffff9c, 0x0, 0x0, 0x0) [ 339.662642][ T7372] loop2: detected capacity change from 0 to 32776 [ 339.693833][ T7372] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:13 executing program 0: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000002140), 0x2, 0x0) vmsplice(r0, 0x0, 0x0, 0x0) 21:00:13 executing program 1: r0 = openat$random(0xffffffffffffff9c, &(0x7f0000000500), 0x0, 0x0) ioctl$BTRFS_IOC_TREE_SEARCH_V2(r0, 0xc0709411, 0x0) 21:00:13 executing program 4: r0 = fsopen(&(0x7f0000000000)='tmpfs\x00', 0x0) fsconfig$FSCONFIG_SET_BINARY(r0, 0x2, &(0x7f0000000100)='*\xa1o^s\x00\x8a\xe0j\x9e\xd8\x84Y\x17q\x88\' \xd9\xfd<\x01\x99\xf9\xea\'Q!\x93\x97,\xb6\x90\x04\xbb2R\x80Z\xc1L\xbe\xa3\xa2\xf2\xf9\x9a\xa4\xe8\x19M\xd7\a\xb7H\x85E\xdc\xa5\xc7\xf9x`\x9e@\x03\xd6\xc7\xa4\xd9_\xbf\xe08\xad\xa8&\x16)\xc3:\xbf\x1f\xd4\x98\xab\xde\x8c\xd0K\x8a\xa0\xdc\x10\xcdUlTA\x1c\x9df\x04\xbe\xef\x0f\t\xe0U~EN\x8eRn\xad\x9bW', &(0x7f00000000c0)="e6", 0x1) [ 339.739529][ T7381] loop3: detected capacity change from 0 to 264192 21:00:13 executing program 5: openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000ac0), 0x2, 0x0) 21:00:13 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, 0x0, &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:13 executing program 1: fsopen(&(0x7f0000000280)='hugetlbfs\x00', 0x0) 21:00:13 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000002140)='/proc/tty/ldiscs\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000080)={0x2020}, 0x2020) read$sequencer(r0, &(0x7f0000000040)=""/22, 0x16) 21:00:13 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x12b1c1, 0x15a) write$FUSE_INTERRUPT(r0, &(0x7f0000000140)={0x10}, 0x10) [ 339.859657][ T7393] loop2: detected capacity change from 0 to 32776 [ 339.867207][ T7393] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:13 executing program 1: syz_open_procfs(0x0, &(0x7f0000002100)='environ\x00') 21:00:13 executing program 0: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_VERSION(r0, 0x801c581f, 0x0) 21:00:13 executing program 4: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000000)='.pending_reads\x00', 0x105b41, 0x0) write$RDMA_USER_CM_CMD_REJECT(r0, &(0x7f0000000180)={0x9, 0x108, 0xfa00, {0xffffffffffffffff, 0x0, "864796", "28c29261e15d1659d586884d2174187aff6649c0edccfe93717e8f43e8a4025c7f9dde592c384c9cd29d21889695706db05b376155c585f41b16afae2e1a482537380ea75e9649e4e72fde0c129ac374c1729c316f9cf096e1ad6dc48d25d672c7f008a1fa6ddf26be0772eaf970dfae5877107be6d0558a5fdf30f4bfbb6302152dbbb0eb66d7e0afecfaaf0d8c73817a8d666b37d8c0323d34b39f9122f0697e2c87f0aaa005b51b42f4d91aa51d8ef5c8bb6e6aa0bb6ad8371de71108da158de9706e1703fed4b9da4644b5272e5668f9180d759c486dd73a01283011e14b41ff70482b5beb0c1aa953b0b28c8bc4b436981dd6b2292ddc27795c62521e6b"}}, 0x110) 21:00:13 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) openat$autofs(0xffffffffffffff9c, 0x0, 0x0, 0x0) 21:00:13 executing program 5: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x406, 0x0) [ 339.956186][ T7403] loop3: detected capacity change from 0 to 264192 21:00:13 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, 0x0, &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:13 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f00000000c0)=@nbd={'/dev/nbd', 0x0}, &(0x7f0000000100)='./file0\x00', &(0x7f0000000040)='ufs\x00', 0x0, 0x0) 21:00:13 executing program 1: r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/vm/drop_caches\x00', 0x1, 0x0) write$sysctl(r0, &(0x7f0000000140)='3\x00', 0x2) 21:00:13 executing program 5: openat$vmci(0xffffffffffffff9c, &(0x7f0000002140), 0x2, 0x0) 21:00:13 executing program 4: openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000001240), 0x0, 0x0) pselect6(0x40, &(0x7f0000000000), &(0x7f0000000040)={0x18}, 0x0, 0x0, 0x0) 21:00:13 executing program 1: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, &(0x7f0000000140)='.\x00') 21:00:13 executing program 5: openat$damon_mk_contexts(0xffffffffffffff9c, 0x0, 0x0, 0x0) [ 340.129462][ T7418] loop2: detected capacity change from 0 to 32776 [ 340.140783][ T7422] loop3: detected capacity change from 0 to 264192 [ 340.164415][ T7425] ufs: ufs was compiled with read-only support, can't be mounted as read-write 21:00:13 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', 0x0, 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:13 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/jfs', 0x0, 0x0) [ 340.170518][ T7418] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:13 executing program 0: openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) 21:00:13 executing program 4: r0 = io_uring_setup(0x4d4c, &(0x7f0000000080)) io_uring_register$IORING_REGISTER_FILES(r0, 0x13, &(0x7f0000000200)=[0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff], 0x3) 21:00:13 executing program 5: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x406, &(0x7f0000000040)) [ 340.271023][ T7433] qnx6: invalid mount options. 21:00:13 executing program 0: syz_read_part_table(0x0, 0xaaaaaaaaaaaab5f, &(0x7f00000002c0)=[{0x0}, {&(0x7f0000000180)="ed3044195b7b395d42e55ec0d307f00470fb0afd503e725174fd7c418899fc38af62997ce199401fff39cc6da60d94631df4b9635f1a377434486a8c707a91f0da70807296f8d2f6c55c94b2a990dbc282a68f49dc808accb93e095eac4ad0d1c2a8ebb00aaa66bc22c0b376870ba0358dede6b2dae8ad0b", 0x78}]) 21:00:13 executing program 1: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f00000000c0)=@nbd={'/dev/nbd', 0x0}, &(0x7f0000000100)='./file0\x00', &(0x7f0000000140)='adfs\x00', 0x0, &(0x7f0000000180)='/dev/zero\x00') [ 340.295872][ T7435] loop2: detected capacity change from 0 to 32776 [ 340.333462][ T7435] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:13 executing program 4: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x6, &(0x7f0000000040)) 21:00:13 executing program 5: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x103) mount$fuseblk(&(0x7f0000000140), &(0x7f0000000100)='./file0\x00', 0x0, 0x1095458, 0x0) mount_setattr(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x1000, &(0x7f00000000c0)={0x0, 0x0, 0x40000}, 0x20) [ 340.337759][ T7441] loop3: detected capacity change from 0 to 264192 [ 340.422839][ T7447] ADFS-fs (nbd1): unrecognised mount option "/dev/zero" or missing value 21:00:13 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) 21:00:13 executing program 4: syz_io_uring_setup(0xc19, &(0x7f0000000000)={0x0, 0x0, 0x20}, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000080), &(0x7f00000000c0)) 21:00:13 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', 0x0, 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:13 executing program 1: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x40b, &(0x7f0000000040)) [ 340.469230][ T7455] ======================================================= [ 340.469230][ T7455] WARNING: The mand mount option has been deprecated and [ 340.469230][ T7455] and is ignored by this kernel. Remove the mand [ 340.469230][ T7455] option from the mount to silence this warning. [ 340.469230][ T7455] ======================================================= 21:00:13 executing program 5: r0 = openat$damon_mk_contexts(0xffffffffffffff9c, &(0x7f0000003940), 0x0, 0x0) ioctl$BTRFS_IOC_BALANCE_PROGRESS(r0, 0x84009422, 0x0) 21:00:13 executing program 4: mount$fuse(0x0, 0x0, &(0x7f0000000180), 0x0, &(0x7f0000000200)={{}, 0x2c, {}, 0x2c, {'user_id', 0x3d, 0xffffffffffffffff}, 0x2c, {'group_id', 0x3d, 0xffffffffffffffff}}) 21:00:13 executing program 1: openat$uinput(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) pselect6(0x40, &(0x7f0000000100), &(0x7f0000000140)={0x8}, 0x0, 0x0, 0x0) [ 340.589353][ T7461] loop3: detected capacity change from 0 to 264192 [ 340.597631][ T7457] loop2: detected capacity change from 0 to 32776 21:00:13 executing program 5: ioctl$BTRFS_IOC_RESIZE(0xffffffffffffffff, 0x50009403, 0x0) [ 340.632642][ T7457] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:14 executing program 0: r0 = fsopen(&(0x7f0000000000)='nfsd\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000b00), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, &(0x7f0000001080)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) 21:00:14 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) openat(r0, 0x0, 0x0, 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) 21:00:14 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000004140)='net/raw\x00') read$FUSE(r0, &(0x7f0000000080)={0x2020}, 0x2020) 21:00:14 executing program 4: syz_io_uring_setup(0x0, 0x0, &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffb000/0x3000)=nil, 0x0, 0x0) 21:00:14 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', 0x0, 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:14 executing program 5: openat$fuse(0xffffffffffffff9c, &(0x7f0000001580), 0x2, 0x0) pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0x9}, &(0x7f00000000c0)={0x0, 0x989680}, 0x0) 21:00:14 executing program 5: r0 = fsopen(&(0x7f0000000000)='fusectl\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x7, 0x0, 0x0, 0x0) 21:00:14 executing program 1: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x1000, 0x103) open(&(0x7f0000000080)='./file0\x00', 0x26001, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) 21:00:14 executing program 4: r0 = fsopen(&(0x7f0000000000)='afs\x00', 0x0) fsconfig$FSCONFIG_SET_BINARY(r0, 0x4, &(0x7f0000000040)='cgroup\x00', &(0x7f0000000080), 0x0) [ 341.341939][ T7481] loop3: detected capacity change from 0 to 264192 [ 341.348804][ T7484] loop2: detected capacity change from 0 to 32776 [ 341.380186][ T7484] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:14 executing program 0: epoll_pwait(0xffffffffffffffff, 0x0, 0x0, 0x5, 0x0, 0x0) 21:00:14 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) 21:00:14 executing program 5: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x402, &(0x7f0000000040)) 21:00:14 executing program 1: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount$cgroup(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000040), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='clone_children,xattr,no']) 21:00:14 executing program 4: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x101141, 0x0) fallocate(r0, 0x0, 0x0, 0x8800000) pwritev(r0, &(0x7f0000001880)=[{&(0x7f0000000380)="1a1f9017df653e187e79364cb63ac5c92ec7eac7369ac507a16ad46e57d563a648e728596d84ab9b9b45cd50f95a54a0288d681c899a2afc093b50a2a4acf8184715e4a863b9bb3037933f55e73a5c85110a893f1a4c7bff1b097b8a54450c7096b64903b7411725", 0x68}, {&(0x7f0000000400)="93c1a56063fde4287d58aa610be3ce104714321a08b19de2aa0800d6056a2736467c5f930d4767929b7c325c68b26bb78efa4dd5eef80183f1cd2c4edb4115690c206a8edeb02328f04197e66569bab7c4bf184dcd6b116e824881d69bfb585e009a0d0095c7a20447a6ea8f8cd3a3a7f733d8efd76712d67900734735db15df6da03b639db7375fd68ac6955536a10174151eb9da0030710675cb5581169c3169409109d93629dfefcd808fbd7a82e160edc3f8127e3a0a2720def77aef91edac44976a453182df90a130bf0c74b611d9", 0xd1}, {&(0x7f0000000500)="85611062ea2deaf2787f8b5c5538641edc9f86899da4a569b6938edffb1b1402a5026f002caa4609723cb695d8a708611e9ffa7259768a142ed97e6e873477751fa3b4c37c59e739191ceb4063acdc2ceaa153f01b0a4aa8f469685ee00fec90d4e6aaac00b486d4c517fcb846e70f596ca74ba0fc8c5473d71a77a0dc460816a99771", 0x83}, {&(0x7f00000005c0)="714d21c4b62c9e9da23c362307438bf0fd6afa1015c06adda643ae08bfc2d3f36bbed6ba55dd3bd1590e565b0711115072a75e32d4a984400b6bd9f3443145445953d7b7b89ed2bab5be5d723e5bdc8de6d91ff9d6a3c779de4158157f1f87945b141eaacac72b8289ef5417a0c323bcca7f993e83a94bdb70cec7a159412565fd23eea95857fe442d8c21e4a96bd364b5b0f4eed0c2d7d895cc39fb309d6802e3bde72fc9db9636e1de316ded3636c66f4dabdd1024ecad0baeaa05c853e0dd2125", 0xc2}], 0x4, 0xffff, 0x4) 21:00:14 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, 0x0) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:14 executing program 5: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x103) linkat(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0xffffffffffffff9c, &(0x7f0000000200)='./file1\x00', 0x0) 21:00:14 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x1000, 0x0) open$dir(&(0x7f0000000000)='./file0\x00', 0x1, 0x0) open(&(0x7f0000000100)='./file0\x00', 0x0, 0x0) [ 341.633172][ T7503] loop2: detected capacity change from 0 to 32776 [ 341.671671][ T7509] cgroup: Unknown subsys name 'no' 21:00:15 executing program 1: mknod(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount$cgroup(0x20100000, &(0x7f0000000040)='./file0\x00', 0x0, 0x1000, 0x0) 21:00:15 executing program 4: r0 = openat$rfkill(0xffffffffffffff9c, &(0x7f00000001c0), 0x0, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r0, 0x81f8943c, 0x0) 21:00:15 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, 0x0) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:15 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', 0x181141, 0x0) fallocate(r0, 0x10, 0x0, 0x8800000) fsconfig$FSCONFIG_SET_PATH(0xffffffffffffffff, 0x3, 0x0, 0x0, 0xffffffffffffff9c) [ 341.687223][ T7503] MTD: Attempt to mount non-MTD device "/dev/loop2" [ 341.709098][ T7506] overlayfs: missing 'lowerdir' 21:00:15 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) 21:00:15 executing program 4: r0 = fsopen(&(0x7f0000000000)='exfat\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) read$FUSE(r0, &(0x7f00000000c0)={0x2020}, 0x2020) 21:00:15 executing program 1: mknod(&(0x7f0000000200)='./file0\x00', 0x1000, 0x0) r0 = open(&(0x7f0000000480)='./file0\x00', 0x2, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r0, 0xc0189375, 0x0) 21:00:15 executing program 0: openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000000), 0x181, 0x0) 21:00:15 executing program 5: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000600), 0x0, 0x0) ioctl$FS_IOC_FSSETXATTR(r0, 0x401c5820, 0x0) 21:00:15 executing program 4: r0 = syz_io_uring_setup(0x5571, &(0x7f0000000080), &(0x7f0000400000/0xc00000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000140), &(0x7f0000000180)) io_uring_register$IORING_REGISTER_FILES(r0, 0x3, 0x0, 0x4000) 21:00:15 executing program 1: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x103) mount$9p_virtio(0x0, &(0x7f0000001140)='./file0\x00', 0x0, 0x8cffffff, 0x0) [ 341.852218][ T7523] loop3: detected capacity change from 0 to 264192 [ 341.874804][ T7527] loop2: detected capacity change from 0 to 32776 [ 341.931669][ T7523] overlayfs: missing 'lowerdir' 21:00:15 executing program 0: openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) pselect6(0x5, &(0x7f0000000000), 0x0, &(0x7f0000000040)={0x8}, &(0x7f0000000100), 0x0) 21:00:15 executing program 5: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, 0x0, 0x0) 21:00:15 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, 0x0) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') [ 341.954976][ T7527] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:15 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(r0, &(0x7f0000000140)=""/254, 0xfe) 21:00:15 executing program 1: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x1000, 0x103) open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) pselect6(0x40, &(0x7f0000000040), 0x0, &(0x7f00000000c0)={0x8}, 0x0, 0x0) 21:00:15 executing program 4: r0 = fsopen(&(0x7f0000000040)='cifs\x00', 0x0) r1 = fsopen(&(0x7f0000000340)='hpfs\x00', 0x0) dup3(r1, r0, 0x0) 21:00:15 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000040)=@filename='./file0\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x2121005, 0x0) mount_setattr(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, &(0x7f0000000100)={0x81, 0x8}, 0x20) 21:00:15 executing program 5: r0 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, 0xffffffffffffffff, &(0x7f00000000c0)) 21:00:15 executing program 4: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, 0x0) [ 342.091688][ T7543] loop3: detected capacity change from 0 to 264192 21:00:15 executing program 5: mknodat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) syz_read_part_table(0x0, 0x2, &(0x7f00000002c0)=[{0x0, 0x0, 0xd91}, {&(0x7f0000000180)="ed3044195b7b395d42e55ec0d307f00470fb0afd503e725174fd7c418899fc38af62997ce199401fff39cc6da60d94631df4b9635f1a377434486a8c707a91f0da70807296f8d2f6c55c94b2a990dbc282a68f49dc808accb93e095eac4ad0d1c2a8ebb00aaa66bc22c0b376870ba0358dede6b2dae8ad0b", 0x78, 0xd}]) 21:00:15 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[]) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') [ 342.152490][ T7543] overlayfs: missing 'lowerdir' [ 342.158616][ T7552] loop2: detected capacity change from 0 to 32776 [ 342.181870][ T7552] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:15 executing program 2: getdents64(0xffffffffffffffff, &(0x7f0000000140)=""/254, 0xfe) 21:00:15 executing program 0: r0 = openat$apparmor_thread_current(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$apparmor_current(r0, 0x0, 0x0) r1 = creat(&(0x7f0000003780)='./file0\x00', 0x0) mkdirat$cgroup(r1, &(0x7f00000037c0)='syz0\x00', 0x1ff) 21:00:15 executing program 4: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, 0x0) [ 342.209587][ T7556] affs: No valid root block on device nullb0 21:00:15 executing program 2: getdents64(0xffffffffffffffff, &(0x7f0000000140)=""/254, 0xfe) 21:00:15 executing program 5: r0 = open$dir(&(0x7f0000000180)='./file0\x00', 0xc6043, 0x0) ioctl$AUTOFS_DEV_IOCTL_VERSION(r0, 0x6628, 0x0) [ 342.313251][ T7566] affs: No valid root block on device nullb0 [ 342.327210][ T7569] loop3: detected capacity change from 0 to 264192 [ 342.383073][ T7569] overlayfs: missing 'lowerdir' [ 342.396702][ T28] audit: type=1800 audit(1664398815.656:13): pid=7573 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=1166 res=0 errno=0 21:00:16 executing program 2: getdents64(0xffffffffffffffff, &(0x7f0000000140)=""/254, 0xfe) 21:00:16 executing program 0: r0 = open$dir(&(0x7f0000000180)='./file0\x00', 0xc6043, 0x0) ioctl$AUTOFS_DEV_IOCTL_VERSION(r0, 0x4020940d, 0x0) 21:00:16 executing program 4: r0 = openat$damon_mk_contexts(0xffffffffffffff9c, &(0x7f00000002c0), 0x20a040, 0x0) fcntl$setlease(r0, 0x406, 0x0) 21:00:16 executing program 1: r0 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x2a140, 0x0) mount$fuseblk(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', &(0x7f00000000c0), 0x1, &(0x7f0000002200)={{'fd', 0x3d, r0}}) 21:00:16 executing program 5: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/consoles\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x7ffffffff000) 21:00:16 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[]) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:16 executing program 4: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='net/ip6_mr_vif\x00') read$dsp(r0, &(0x7f0000002200)=""/154, 0x9a) read$dsp(r0, &(0x7f0000002380)=""/229, 0xe5) 21:00:16 executing program 0: ppoll(&(0x7f0000002380)=[{}], 0x300, 0x0, 0x0, 0x0) 21:00:16 executing program 2: syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(0xffffffffffffffff, &(0x7f0000000140)=""/254, 0xfe) 21:00:16 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x1000, 0x0) mount(&(0x7f00000001c0)=@nullb, &(0x7f0000000240)='./file0\x00', &(0x7f0000000280)='reiserfs\x00', 0x200400, &(0x7f00000002c0)='smackfshat') [ 342.954339][ T28] audit: type=1800 audit(1664398816.216:14): pid=7580 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.0" name="file0" dev="sda1" ino=1180 res=0 errno=0 [ 342.960799][ T7581] loop3: detected capacity change from 0 to 264192 21:00:16 executing program 1: mount$fuse(0x0, &(0x7f0000000140)='./file0\x00', 0x0, 0x0, &(0x7f0000000200)={{}, 0x2c, {}, 0x2c, {'user_id', 0x3d, 0xffffffffffffffff}, 0x2c, {'group_id', 0x3d, 0xffffffffffffffff}}) 21:00:16 executing program 4: r0 = epoll_create1(0x0) fcntl$F_SET_RW_HINT(r0, 0x40c, &(0x7f0000000140)=0x7) 21:00:16 executing program 0: syz_read_part_table(0x0, 0x2, &(0x7f0000001440)=[{0x0, 0x0, 0xd91}, {&(0x7f0000000400)="f8ca49e98ff42dee787ad628ced8984b89cba60e1b07a444bbec2138e6c86222566b06d2a2616fb122f7658ca0db7475362d4418669c5da1d4cbc874ed5a1028a95a383c4d9260d1023eaf25f070fd31300b255c4b2519ed5d722e6eed98b9e98cd88386ba7bd8848de73108bf9d4b22459130cbd9afeb821257b13bebd54a55882fec9f68683e69285269c68dd40849955c5adbc076230b83f8443f284f429ab5ced0f1e131f98f7bd7f24c2724e05042259fe905f5e3631bc84c552116f69c048b8cb92c8086ee32b3e823234e6597dddc968ac19ea928dfd528919c14cda7c1194213ec330a5160e85376ed1503571d5836a0ef85e98779b042d87ec5bd9294e539e69f6cea093d4785586a4d", 0x10e, 0xc8}]) [ 343.041735][ T7585] fuseblk: Invalid rootmode [ 343.073518][ T7592] overlayfs: missing 'lowerdir' [ 343.074361][ T7591] loop2: detected capacity change from 0 to 32776 [ 343.105900][ T7581] squashfs: Unknown parameter 'overlay' [ 343.108533][ T7594] REISERFS warning (device nullb0): super-6502 reiserfs_getopt: unknown mount option "smackfshat" 21:00:16 executing program 2: syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(0xffffffffffffffff, &(0x7f0000000140)=""/254, 0xfe) 21:00:16 executing program 1: r0 = fsopen(&(0x7f0000000040)='bdev\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x10) 21:00:16 executing program 4: r0 = openat$cachefiles(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) syz_io_uring_setup(0x2fe4, &(0x7f0000000240)={0x0, 0x694d, 0x2a, 0x0, 0x0, 0x0, r0}, &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000300), &(0x7f0000000140)) [ 343.129544][ T7591] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:16 executing program 5: mount_setattr(0xffffffffffffffff, 0x0, 0x0, &(0x7f0000000240), 0x6f) 21:00:16 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[]) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:16 executing program 0: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) write$capi20_data(r0, 0x0, 0x0) 21:00:16 executing program 1: r0 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r0, 0x4020940d, &(0x7f0000000080)={{0x300, 0x1, 0xffffffffffffff63}, './file0\x00'}) 21:00:16 executing program 4: r0 = fsopen(&(0x7f0000000000)='cifs\x00', 0x0) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000100)='net/arp\x00') fsconfig$FSCONFIG_SET_PATH_EMPTY(r0, 0x4, &(0x7f0000000080)='cifs\x00', &(0x7f00000000c0)='./file0\x00', r1) 21:00:16 executing program 2: syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(0xffffffffffffffff, &(0x7f0000000140)=""/254, 0xfe) 21:00:16 executing program 5: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_KEY_STATUS(r0, 0x40305828, 0x0) [ 343.243044][ T7606] loop2: detected capacity change from 0 to 32776 [ 343.267604][ T7606] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:16 executing program 0: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$uinput_user_dev(r0, 0x0, 0x0) 21:00:16 executing program 4: fsopen(&(0x7f00000003c0)='vfat\x00', 0x0) [ 343.325748][ T7614] loop3: detected capacity change from 0 to 264192 21:00:16 executing program 1: mount$fuseblk(0x0, 0x0, 0x0, 0x0, &(0x7f0000003740)) 21:00:16 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f00000020c0)='oom_score_adj\x00') read$FUSE(r0, 0x0, 0x0) [ 343.375970][ T7614] overlayfs: missing 'lowerdir' 21:00:16 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB]) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:16 executing program 0: r0 = syz_io_uring_setup(0x6da2, &(0x7f00000000c0), &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000000), &(0x7f0000000140)) io_uring_register$IORING_UNREGISTER_BUFFERS(r0, 0xe, 0x0, 0x0) 21:00:16 executing program 4: r0 = fsopen(&(0x7f0000000080)='proc\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) syz_io_uring_setup(0x4261, &(0x7f0000000000)={0x0, 0x0, 0x20, 0x0, 0x0, 0x0, r1}, &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f00000000c0), &(0x7f0000000100)) 21:00:16 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000012c0), 0x802, 0x0) write$UHID_INPUT(r0, 0x0, 0x0) 21:00:16 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(r0, 0x0, 0x0) [ 343.405817][ T7623] loop2: detected capacity change from 0 to 32776 [ 343.438322][ T7623] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:16 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000100)='net/packet\x00') read$FUSE(r0, &(0x7f0000002200)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f0000000140)={0x2020}, 0x2020) 21:00:16 executing program 0: r0 = fsopen(&(0x7f0000000040)='nfs\x00', 0x0) r1 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000b00), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, &(0x7f0000001080)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) [ 343.519997][ T7632] loop3: detected capacity change from 0 to 264192 21:00:16 executing program 5: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000080)='/proc/partitions\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) 21:00:16 executing program 4: r0 = fsopen(&(0x7f0000000100)='ceph\x00', 0x0) fsconfig$FSCONFIG_SET_BINARY(r0, 0x2, &(0x7f0000000000)='binder\x00', &(0x7f0000000080)="01", 0x1) 21:00:16 executing program 1: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000500), 0x0, 0x0) ioctl$F2FS_IOC_DEFRAGMENT(r0, 0xc010f508, 0x0) 21:00:16 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/meminfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) 21:00:16 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB]) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:16 executing program 4: openat$thread_pidfd(0xffffffffffffff9c, &(0x7f0000000000), 0x418002, 0x0) [ 343.566236][ T7632] overlayfs: missing 'lowerdir' [ 343.583602][ T7642] loop2: detected capacity change from 0 to 32776 [ 343.600342][ T7642] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:16 executing program 5: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000080)='/proc/partitions\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) 21:00:16 executing program 1: r0 = fsopen(&(0x7f0000000040)='mqueue\x00', 0x0) fsconfig$FSCONFIG_SET_FLAG(r0, 0x0, &(0x7f0000000340)='mand\x00', 0x0, 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 21:00:16 executing program 0: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000002900), 0x0, 0x0) fsync(r0) 21:00:17 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(r0, 0x0, 0x0) 21:00:17 executing program 1: r0 = openat$ttyprintk(0xffffffffffffff9c, &(0x7f0000003300), 0x0, 0x0) ioctl$EXT4_IOC_GROUP_EXTEND(r0, 0x40086607, 0x0) 21:00:17 executing program 4: r0 = fsopen(&(0x7f0000000000)='tmpfs\x00', 0x0) r1 = openat$rfkill(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) dup3(r0, r1, 0x0) 21:00:17 executing program 5: r0 = fsopen(&(0x7f0000000000)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x81) openat$cgroup_int(r1, &(0x7f0000000040)='io.weight\x00', 0x2, 0x0) 21:00:17 executing program 0: openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000180), 0x105002, 0x0) [ 343.749416][ T7660] loop3: detected capacity change from 0 to 264192 21:00:17 executing program 4: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount$cgroup(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100), 0x0, &(0x7f0000000140)={[{@noprefix}]}) 21:00:17 executing program 1: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000040), 0x20c01, 0x0) write$binfmt_script(r0, 0x0, 0x0) 21:00:17 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB]) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:17 executing program 2: r0 = syz_mount_image$cramfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1001003, 0x1, &(0x7f0000000040)=[{&(0x7f0000000240)="453dcd28001000000300000000000000436f6d7072657373656420524f4d465326336279000000000700000008000000436f6d70726573736564000000000000c0415c95c3483b53c0040000ed815cf964000053c30d220066", 0x59}], 0x0, &(0x7f0000000080)=ANY=[], 0x0) getdents64(r0, 0x0, 0x0) [ 343.812707][ T7666] loop2: detected capacity change from 0 to 32776 [ 343.826229][ T7660] overlayfs: missing 'lowerdir' [ 343.833004][ T7666] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:17 executing program 0: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) r1 = openat$sndtimer(0xffffffffffffff9c, &(0x7f00000000c0), 0x0) dup3(r1, r0, 0x0) 21:00:17 executing program 5: r0 = open$dir(&(0x7f0000000180)='./file0\x00', 0xc6043, 0x0) ioctl$AUTOFS_DEV_IOCTL_VERSION(r0, 0x5451, 0x0) [ 343.939671][ T7679] cgroup: noprefix used incorrectly 21:00:17 executing program 0: openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x2a140, 0xf0ffff) 21:00:17 executing program 4: r0 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000040), 0x40001, 0x0) write$FUSE_ENTRY(r0, &(0x7f0000004240)={0x90}, 0x90) 21:00:17 executing program 1: r0 = fsopen(&(0x7f0000000040)='ramfs\x00', 0x0) fsconfig$FSCONFIG_SET_BINARY(r0, 0x2, &(0x7f0000000080)=']\b\xa7`\'\x8e`T\xe7\xd6\xb1\xb9\x81\x91R\xa8:\xddYD\xeeF\xce\xf2k?\fNrpv\xe8`-\x8f\x11\xd0%\x9c\xb0^.ty\xf7L\xa3\x82\x9e\x14\xc8-A\xb6\x90z\x04\xc6^%\x94\xeb:E\xf7\xa0z\x11\x15\xeaO\x89\xe2`\x96\xa1\xaa\xc2\x97\x98\xc8\x034k\x06[\x01|he\xbeq$l\x9f#lX\a\xba&\xd0l\xc7\xa5\xb2d\x92PA\xb2p\x97\x9b\aB\x96\xf3\xf8\x9c\x93\xa0', &(0x7f0000000140)="2a0000000000000100000000099753cae920c0ccf7a1f17e36cd6e6b0aa5580513849b81981d6bf638d9e777be6a52ac1bf3cceab3dc5c41d40ec04cbc6411ae7396f9a60ee90000000000000000000000916abbf3e4df61fd496660db054a80ee0990cdf898c7350950069b81128795d5e3b2bd860bc7a6ab71ca875a576220bda38ecda3013107583039a3067c61c56bcd9f59e3440e481faa09f73d302520c3d3d6d2e22a67a6d52c6c64cac723a68a484e36fee77bfc67a58acdd0b674589c6455287ee0a46c35533a3353443543953cea2ded6f719c61a174d57434f81c0be768208a276ec2d6d9cb5b99eb3218da2cb640d4542c68851e5787481e68a638721d026b61b414a092fe2cb27fcc60f76371cf0793b48b21052b4ed95abe2e52e6cec5e7eb8c21800b7f7f9be62261869f50983efad2f75687e603123e09ed9d7b02a1297713fbbd8d3d50fed38ab9dadc9635f321ded48e6c8abd665ac1fdbb2d0b1a0ccbb237b7ffddf00056d8ff005ebcfda2b0c14daef8bd3810500301c3502138818fceb6a00f0de3a7a51eebbf31a25246b3d5dcde683f5b21a8b94dd538858fb9425fa84d0853519e617480d5956714187fa63942dbbca5d4309e9ba5def2e0167be0c2243867ae1dcef23f66eaf8f518483c93ed09bc8120f28e9fbbae981471354b58f76075f47ee7c214693fc87c3f73f980e44fb78b3b803d3bf390511241de3098df1b5574860872da029bc261000000000000000000ee7496587fb2f142d6821934038e58bf79370ffc", 0x3974) 21:00:17 executing program 5: openat$vnet(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) getdents64(0xffffffffffffffff, 0x0, 0x0) read$proc_mixer(0xffffffffffffffff, 0x0, 0x0) openat$snapshot(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) pselect6(0x40, &(0x7f0000000000)={0x3d}, 0x0, 0x0, 0x0, 0x0) clock_gettime(0x0, 0x0) [ 343.985228][ T7684] loop2: detected capacity change from 0 to 32776 [ 343.993764][ T7687] loop3: detected capacity change from 0 to 264192 [ 344.005984][ T28] audit: type=1800 audit(1664398817.266:15): pid=7688 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=1187 res=0 errno=0 21:00:17 executing program 4: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/protocols\x00') read$FUSE(r0, &(0x7f0000000100)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f0000002140)={0x2020}, 0x2020) 21:00:17 executing program 2: r0 = io_uring_setup(0x135b, &(0x7f0000000040)={0x0, 0x53eb}) io_uring_register$IORING_UNREGISTER_EVENTFD(r0, 0x5, 0x0, 0x0) [ 344.031852][ T7684] MTD: Attempt to mount non-MTD device "/dev/loop2" 21:00:17 executing program 1: r0 = syz_io_uring_setup(0x6da2, &(0x7f00000000c0), &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000000), &(0x7f0000000140)) io_uring_register$IORING_UNREGISTER_BUFFERS(r0, 0x13, 0x0, 0x0) 21:00:17 executing program 0: openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000003240), 0x2, 0x0) [ 344.096743][ T7695] overlayfs: missing 'lowerdir' 21:00:17 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:17 executing program 2: r0 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000280), 0x0, 0x0) r1 = openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000040), 0x0) dup3(r0, r1, 0x0) 21:00:17 executing program 1: openat$apparmor_thread_current(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) creat(&(0x7f0000003780)='./file0\x00', 0x0) 21:00:17 executing program 4: r0 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r0, 0xc0189375, &(0x7f00000000c0)={{0x1, 0x1, 0x18}, './file0\x00'}) 21:00:17 executing program 0: openat$thread_pidfd(0xffffffffffffff9c, &(0x7f0000000500), 0x42, 0x0) 21:00:17 executing program 5: openat$vnet(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) getdents64(0xffffffffffffffff, 0x0, 0x0) read$proc_mixer(0xffffffffffffffff, 0x0, 0x0) openat$snapshot(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) pselect6(0x40, &(0x7f0000000000)={0x3d}, 0x0, 0x0, 0x0, 0x0) clock_gettime(0x0, 0x0) 21:00:17 executing program 2: pselect6(0x40, &(0x7f0000000100), &(0x7f0000000140)={0x4}, 0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000200), 0x8}) 21:00:17 executing program 0: openat$random(0xffffffffffffff9c, &(0x7f0000000500), 0x20000, 0x0) 21:00:17 executing program 4: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000017c0), 0x0, 0x0) fcntl$lock(r0, 0x0, 0x0) 21:00:17 executing program 1: mknodat$loop(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount_setattr(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, &(0x7f0000000080)={0x0, 0x0, 0x100000}, 0x20) [ 344.266656][ T7712] loop3: detected capacity change from 0 to 264192 21:00:17 executing program 5: mount$fuseblk(0x0, &(0x7f0000000080)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', 0x0, 0x0, 0x0) 21:00:17 executing program 2: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000080)='/proc/timer_list\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) 21:00:17 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') [ 344.349183][ T7712] overlayfs: missing 'lowerdir' 21:00:17 executing program 4: r0 = syz_io_uring_setup(0x5571, &(0x7f0000000080), &(0x7f0000400000/0xc00000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000140), &(0x7f0000000180)) io_uring_register$IORING_REGISTER_FILES(r0, 0x5, 0x0, 0x4000) 21:00:17 executing program 0: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x7, &(0x7f0000000040)) 21:00:17 executing program 1: r0 = fsopen(&(0x7f0000000000)='virtiofs\x00', 0x0) r1 = fsopen(&(0x7f0000000340)='hpfs\x00', 0x0) dup3(r1, r0, 0x0) 21:00:17 executing program 2: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000240), 0x2, 0x0) read$FUSE(r0, &(0x7f00000034c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INTERRUPT(r0, &(0x7f0000000080)={0x10, 0xfffffffffffffffe, r1}, 0x10) 21:00:17 executing program 5: r0 = openat$random(0xffffffffffffff9c, &(0x7f00000000c0), 0x8302, 0x0) write$RDMA_USER_CM_CMD_NOTIFY(r0, 0x0, 0x0) 21:00:17 executing program 0: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_KEY_STATUS(r0, 0xc080661a, 0x0) 21:00:17 executing program 1: r0 = fsopen(&(0x7f0000000000)='bdev\x00', 0x0) r1 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) dup3(r1, r0, 0x0) 21:00:17 executing program 4: io_uring_register$IORING_REGISTER_BUFFERS(0xffffffffffffffff, 0x0, 0x0, 0x0) 21:00:17 executing program 5: r0 = openat$userio(0xffffffffffffff9c, &(0x7f0000000040), 0x802, 0x0) write$USERIO_CMD_SET_PORT_TYPE(r0, &(0x7f0000000000), 0x2) [ 344.478869][ T7732] loop3: detected capacity change from 0 to 264192 21:00:17 executing program 2: openat$khugepaged_scan(0xffffffffffffff9c, &(0x7f0000000180), 0x1, 0x0) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(0xffffffffffffffff, 0xc0189374, 0x0) 21:00:17 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') [ 344.556880][ T7732] overlayfs: missing 'lowerdir' 21:00:17 executing program 0: clock_gettime(0x1402acd4f9464bd3, 0x0) 21:00:17 executing program 1: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0x19, 0x0, 0x0) 21:00:17 executing program 5: r0 = syz_open_procfs$userns(0x0, &(0x7f0000000040)) r1 = openat$6lowpan_enable(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) r2 = dup3(r1, r0, 0x0) read$qrtrtun(r2, 0x0, 0x0) 21:00:17 executing program 4: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) write$binfmt_script(r0, 0x0, 0x0) 21:00:17 executing program 2: syz_read_part_table(0x0, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000240)="7f29c740b71458b1ebcb7ba94abd4278d78606d4f90d99df3f4fab71ddfe6e6b5bb951b7137879350310af68be25801bd0c0183149cc893be2e7091680c01587fdcac3f823a1ab0c735e05080000396f704603000000db656c4c5a", 0x5b, 0x17c}]) 21:00:17 executing program 0: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0xf, 0x0, 0x0) 21:00:18 executing program 1: statx(0xffffffffffffffff, 0x0, 0x0, 0xf8823b1af831d612, 0x0) 21:00:18 executing program 4: openat$sndseq(0xffffffffffffff9c, &(0x7f00000002c0), 0x0) pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0x9}, &(0x7f00000000c0)={0x0, 0x989680}, 0x0) 21:00:18 executing program 5: openat$mixer(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) [ 344.701243][ T7760] loop3: detected capacity change from 0 to 264192 21:00:18 executing program 1: r0 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_EXPIRE(r0, 0xc018937c, 0x0) 21:00:18 executing program 2: syz_io_uring_setup(0x0, &(0x7f0000004a40), &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffb000/0x1000)=nil, &(0x7f0000004ac0), &(0x7f0000004b00)) 21:00:18 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lower']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:18 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='ceph\x00', 0x0, 0x0) 21:00:18 executing program 4: epoll_pwait(0xffffffffffffffff, &(0x7f0000000040)=[{}], 0x1, 0xfffffff9, &(0x7f0000000080)={[0x6]}, 0x8) [ 344.774343][ T7760] overlayfs: missing 'lowerdir' 21:00:18 executing program 5: openat$cuse(0xffffffffffffff9c, &(0x7f0000000100), 0x2, 0x0) pselect6(0x40, &(0x7f0000000200)={0x9}, 0x0, 0x0, 0x0, 0x0) 21:00:18 executing program 2: lstat(&(0x7f0000008780)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', 0x0) 21:00:18 executing program 1: r0 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000000), 0x141b01, 0x0) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r0, 0xc0189436, &(0x7f0000000080)={{0x1, 0x1, 0xffffffffffffff63}, './file0\x00'}) 21:00:18 executing program 4: r0 = fsopen(&(0x7f0000000000)='bpf\x00', 0x0) r1 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) fsconfig$FSCONFIG_SET_PATH_EMPTY(r0, 0x4, &(0x7f0000000040)='\x00', &(0x7f0000000080)='./file0\x00', r1) [ 344.894151][ T7778] ceph: No source 21:00:18 executing program 5: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) epoll_pwait(r0, &(0x7f0000000640)=[{}], 0x1, 0x0, 0x0, 0x0) 21:00:18 executing program 0: r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_IOC_READY(r0, 0x9360, 0x0) 21:00:18 executing program 2: openat$rfkill(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) openat$sw_sync(0xffffffffffffff9c, &(0x7f0000001ac0), 0x0, 0x0) 21:00:18 executing program 1: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sys/net/ipv4/vs/sync_ports\x00', 0x2, 0x0) read$ptp(r0, 0x0, 0x0) [ 344.922911][ T7783] loop3: detected capacity change from 0 to 264192 21:00:18 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000002080)='net/netstat\x00') read$FUSE(r0, &(0x7f0000000040)={0x2020}, 0x2020) 21:00:18 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lower']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:18 executing program 4: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000000)='.pending_reads\x00', 0x105b41, 0x0) fallocate(r0, 0x3, 0x0, 0x5) 21:00:18 executing program 2: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) r0 = open(&(0x7f0000000040)='./file0\x00', 0x101001, 0x0) write$USERIO_CMD_SET_PORT_TYPE(r0, &(0x7f0000000080), 0x2) [ 345.027926][ T7783] overlayfs: unrecognized mount option "lower" or missing value 21:00:18 executing program 4: r0 = open$dir(&(0x7f0000000180)='./file0\x00', 0xc6043, 0x0) ioctl$AUTOFS_DEV_IOCTL_VERSION(r0, 0x4008662c, 0x0) 21:00:18 executing program 1: r0 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f00000001c0), 0x0, 0x0) ioctl$BTRFS_IOC_SNAP_CREATE(r0, 0x50009401, &(0x7f0000000200)={{}, "66594f0c351cf1ffbd9d2fc9433976a4ac456f42a5769a59d394cfe58a83f202a6be99f4b437d449b98963d8cc90c857c3d706607f6b395d11de1e02c9b915f55ebd1176dc7a97fa62ff41d9731654667feb44ccea58d1bcf68c0a49e9fb26074db864f78c97fdee8d97d0e53b09be3c9852aaa58550dfeac3f82a915b6f0d54a7b6090874a67ed7dd4eac4e3ec2a01f3066071bb9fba832882a52af957d53eb6fbc9fbfbc34638c984d691172c8f2d585ce2f1018df209f92c54786ff5561d63023caea12f8b78d53ca4a850174d271f1b32ecdd104341fe0c311d5fdd01f7696db6c81b0ea7fcf26df7a377e2fbde722b5387e84a6cb5f827383919e53c588de8281414e6195b841d1bcffd0e4162827ef4c644e84dccc8952f238dd398cd5f6ac084048679064fcbc719c9f5dbf6c619daa4bd7fed98491a6154e8f899ef3781fa32d132cc8708b0b8614887f7010c43934c20a55b05f9b7ee906efa7471f87bda923032bc99e547e21c097b6acfb8e416648eb9a11a6636e1a36a6dbcf640f28e1b88a63de13c94e42405a2ec1972248f36a20dc3ca2a41ac8040fcd0328571465e9286d1478c0a02d9c225f790401f0345904d84b3ed8e9a56116b3a84cd2a5611cde3f61d5850756f04e3d5cd47bde72e66263421d60d5a401a9d7b569424ddb2d492e222242b8ac4b2c3c32241b69e25320e61bf771de5b26e361d6506e72b69c7e07e2aa9d61d5cdb40e698db6e50da3d3c6f66a3a52b93144daee7ee13cc7e19a07bff6c30405b74d5bce9ae08e58e2539da65fbe27af9b3120ec1637fd53f1d93f5d8af8fb3deecce6889be7c36d25cb0e27dcb5b11433b5aaabd66a13456adffc556dfcca482c3f664bf365f6ff4e999d859d322463ac448ab853b928361b7fbfe4cb30c747e7c66e32923c16886023c4c0f0f2e7500bfa7023205433bed0e4b8d69ea1e5f43b1b633482139ce15041f9290a05cae917984967c6bc65e7c1f102c6d8d5a9cfe06ad5f0409e7c4ae66cbd2a25cdaf98b15f5c92038b85e6e78de03b1f6b0c23e3c44af6e5d04a699529f160aa4c946742c98027a1e0bb289f888372b445dbefceefd6365b1f9e82cf7c9fa67570e4e7d42215e59ab080cf209b8b53493585d8baa6174cdf320f0998e6ce269fb9d4d902876dd165754c0f08ccd26ccd3e385e2dcbee070fcb6f7cd898a49ee0fd7c8cdb41916f661e6905bb8661c769ad72b1e417cbd2d3c6b77894efbcc8dfc0ee032566cb3c419f6d3648b529028159a3c0030a03f71af063730d1a584475714515d6716462abb2e0439c8deb354bfc78fcd98b6a80e85989f6c8269517711d8aebe4e26283bb40bcbfe47b0b977e88268b81cd4444f50723add35b02a82a47f0e075bb3a3aff697f34d5494bd1f37410f0f3e020f3b44b7fef07c3ca82df3a341133b0c7724efa353392023d6a214b793089a24284299115152d78d3c24b9dea3c06819822090080ba600fde752b7dc6d536127fea607923673183dea8b31fd98682925c808f2d0d3d53c708f168576620063eba91ecce58a02fefe8cadeab9a5f428fa13f7681820bfbdf7a4f3b41d24940eaab1e264b2b0cd8817dcb01bc67a4f5bf0549b40f8d98139baeb28be3c5a6518034661ccff75089e55c88c1a8093ff223f6192e1844554c4d77e33d70af33e1bdf900496e1f060eaab5c8ebfd10abb1833640eafc9ef3d5c47b03143c66b72b4a2d55e8b1400b588200a8caa2ecd3cf0b8697fd1d3d3e2c9340cdd9f18ed7a7e3eecd7715f2e0589a0a3cc3dbc51cea63034048e70a50d3bf9a6824c52e702c97e54a86eadb85758b2c486fec3591c9d30908408e79d6062f3eab97f46dcaa7db72d9c0854b66261e390343db16783492a48276e55f0bf512bffd14bf43bc4acc894251d996a3674528b33dfdbea9e986665b72a8f6f728b3619c10b99a684f18c6fd5e140452879a85f0bf2029a76b56cf45cfa71b4ba864d4c6018694224a0c0be57bc418257ee2c24d6c60bcc72dbe5199db69df001d5c5229c7f907360ae02b06e59d941cedf1ec58e1b9fd8a75732c601fb373db8c70721e765eaef5c37d560a06a27432e3928d5ac3023f8b1df6876ff556e888c0818482026e62efddd302a08861914b5885d7b53f1e0765490c46997f57598e6d44cf56383cd79ea754e4ec9ad2ddd27668d70b86aeb012538e1aa18a43a9bf008023aad19577b65e0d17ff10633c4c3209d869f287d4e286e115714240ba21b072ef2c7853cc0a58558658cef6d467cfbf959e3849d1766d123fd73c860c28a5a5af49feb72e484c2b0a8fed87bd246ffb75ac3afaf6a1eae83acffedecf6561650fb16d85f55fbaea412fbef30e4dcf860c88e6da0d16b4a78d9a1289016ced87d32aa5d280c306e84f3e6734090eef052730d4615949c6ac1fa18767a98ffc68402899b4023d74219253ab4bbf4c5d093b73dbdd02a4b4c8c60b19943a88ce9144193e89a9900c525da33feda7716e1d0a452a0bae5513d4ec30b9ccb7de99d0691426ee52e922430d90089f5d6739220cbb5349e78822de95cfe838c6b397f26beb48ec65db5d81e40353cb4e01410128ee4cbd6947c1e5a5151d4ea268df72d7b15b815f7bc674ae8c87352012bbbbaeb3073d70b66d5c96cf40d846a7266928b96466b9fd0d525cc6c2180b81b4d2ed1e353348f71b55344b1d665dc453aea70da1a7c59d7c5cc1fa544945f6839a69528c83fe2af25e6db8141efe045f8f842148299658e33de9df73a92c69b1153a1128637c69496c43c1e75e2c32c251a237ea6fcaa9618ca97eb68bb9302a8259ff49c35b6d94436762fac79768b032d03cfa6fff4db1c0ae42cf32bab96a90dfb17afb51d74f5eeb380d1eedc5cec146d23f3142b9353edad1ce4de9a4cf85284acd2379c85c4fa32c437b7bead8ab418319023eab0579e89b715d6ba946254d2fee877883d2e4f0d95a3b540f83c6832b5dafad461ac3862d77ae9afbeeb72816d063e6a9880c0e2ee4e0c48e578a11e6efdedc180b524830a11eabbd10fe75af6814790c8c28f4e6096bd70c01d87dbfb4ade9a704335545af59b390cd2c189995768a4c7f92cd043b0f6af56873c7e2a6588d577f79b73baee885cec3f52dbc6b19a0046a2215266580d2d20e605e39c856acc89554fb3149a5829c2e38fddc32e011b4919b5ba75c85f01a963a33c6853f231658d6732655091466eebdbab6170785b4f43f5bc0ccd19ea7403ebb8484fabe57bf9f9c536d172dddcbf5f21b34997b086555e0623977dde50d10aec2fecf61eee9eea24f7703c8d8f4141f1d611ba7f373cc840230ace53a3a8a3f8bb8971885d52f882fc601adc22c8e0bae360b04c01a07f43ffa2e8d34cb57cc4f05234c09ec959d16ce4248feb16445642fd767fff7a022316968d242af7ce9bd9bcef0d68d712b47b1576d190e2ac7c97c1df4ab8da948729351c29302a5de731af5f250c12e1f55395b2126b01626cf20170ffbb31548f814f490ac37ebaf91232417ae56c7e9d73e710286a5fc7e936d114dc71ec99f1998a669d64bd5469f84f87e8e105396b0f0a17c74b5008cc04a84691575c58e8744540d74f573df02e0ae6069f1de1ecf69f83a4fbc7a4fe3e8006407c3026083b19949ef2f6d2ddc8bfe42dc950ed396eef2a807676610f7855a3df63251509d160e6b780ac4501a8c606958b4210f5434ea654fcb193cb986096e68e3c068954db4c67b8472614be079c43afff5d9c28de3d35dbaf3a29a727feca95990c1e0924a2c20a9f3e75f666e826d79df3c948ed5111868fdabd7451451c3bb7e4a86830566f1e0925524782a630f6f13d7bf212e4db14a2bbbaed6019e7a5dd05d0336fdea79b0c1fd16aefc2f1a4efc45ea16bfb2a0aaad9a18a69c31a4d64badf243167e045f22bb324157b851fa730e4f734b373702636fdb150e45fe20de57d2bf5b97e4e87de23319d8dbe88f2d013c70ca22d169232f4a1b80b2cb8c060584503bcb48af1ab4183994c8f95bbf34a929343578282d495fbd9cb2d478f1b5301cdf0d3f419a2d9636a87096cca577a6a62b755a36c57b682212155e980fe2db25d391a58e869ec0b445612d077f14d6ad7a929170768e95e45b822990df5712396ac8e06d68b6a06ad46dd598fcdf39e45a222034c910487b0e61f639fde16c40730f4ca3a788646e5e9926f343ad118730c89280ec418c307deb7e176353d1edae621809167ac1d2230a8b0ffae62c457efb9bddf6262ded15fc26bb712dae52e802611d946a36e69773bf1502925f4ab0308c2e26eb384f360246fb43e5a2a136de3adce0d789d1075e062c3f33902de18148fb0e4c024b28d48ffed725153101775abc19b5526f332f089275de44f552c270452eae2129875be6c3fbd9cc50920a804d6ecccd583c2ac3270fa1a6d19853c33fce5b781aa0bee55c5b2dbcfbb39f6bcd15c75c16827b063cb7df4cd460224d20dd6a86c0184c25306803c56ff66ac1ff9d521a942738173864764505e1722f477e603bfaa7cb9f26e999f6484fd32de585e39ca9e466161848521656a6c3da66df600f6eddc67ce75cd9fbc64eab4c05e1372105f4b7ea73f126e0b4c00b1c0cabb1ed40becc641bd1db7876729fa58ec5568d9b70827506f705bb8464006a5fc96caf4b385b2e3e60881565b0a2101e844b6462b3467159d30206d0eee82965988fae8a7081bcd68943698e185a320af925faff7a43238b43c23bd5e3a2220757315cefa1d706544067215a735622920060ef78e2d9565ad14a4d1788ca0ce4bc4ae1dc9d3a4ba17fe16102697d3b4022027451f6884d125e989e871d84098ffc60e3ddc84d070d423b2f889fa9d268d4f6a41a8912a8e464122cf9a56e93ee49fd10b747fcb108ee9492241220b4ca741496e46b3e97459e8f3f21beaa09f260ee05afbe42ff25fa2477e9e84b5161049f1454cf0acdfcfb32867658e01cc394771c7d871e47caca03604b7da17885c34c1bc1ad946560fb0bbfd39993d46f9e0dd19bfd66bc73e863462f93b0a411e82ddb0ee45e4f72ec7210462e4322fd5f107be14d315dd5ada4f0b43307f140e05961d195fb90b7bdb689e88ab3382930261210fca1fe94b9f21524d745bfb7718e18f46261ec08e69fb1d28b0085487e38b0257b28d4993f74ec84f6c2a6ecbb461be83ba3668bd50f0f4283b1784a8c244d9d268587253773ca9ffe784122454fcf160cd1df7deb8630814a10ee0017f61f2b7670d5a3be3063bf0325bc01bb17554ce20a24c0aa94662a78d5608226ec2f36a2519af3735a8af3c12a771fbabd04882ac57fb60546f8d70c356c2fcb8a602da1f43b3600c1a27de11adfb916ae0b44b69e56ab40100842bdace8f7e5fe47c38c4dba4ef9f2530fa6c6785a523bb7b502137e05c5feb9ecf36e168371f79cb8d46146ab4ce7385ff17b49043481156f9838a44efc8e59b1bf50149df1cd9a1f9ef9176292362cfb882f42fd7fbec2829272a8f69a7576792541a5882321da504f909f4c91fc0562749c1e0994e29b646bec82a89c4645da6c20273f7c69d18c6af77af0ce3f9e279db6bc716f8724c8e14910cbe77349ae41217f9954a23e70ed12251fe40de1a4d86da3ee61076e0104cccaa7ee0c48eb891009784c9cf3f2862daba3a10b96cfa7b41582859a3e26bfef63f88b11e1a878cab974809d9accd632d3c1f234ce9880de9e412570a5e93f49d99f482dbb47ec740928b7266553"}) 21:00:18 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) open$dir(&(0x7f0000000040)='./file0\x00', 0x10d200, 0x0) 21:00:18 executing program 5: r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/clear_refs\x00', 0x1, 0x0) write$sysctl(r0, &(0x7f0000000140)='5\x00', 0x2) 21:00:18 executing program 2: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0xb, 0x0, 0x0) 21:00:18 executing program 1: epoll_create1(0x0) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000140)='fdinfo/3\x00') read$FUSE(r0, &(0x7f0000000180)={0x2020}, 0x2020) [ 345.167858][ T7805] loop3: detected capacity change from 0 to 264192 21:00:18 executing program 4: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x103) mount$fuseblk(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x10b5458, 0x0) mount$9p_virtio(0x0, &(0x7f0000000300)='./file0\x00', 0x0, 0x12a0834, &(0x7f00000023c0)) 21:00:18 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/crypto\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002240)={0x2020}, 0x2020) [ 345.219336][ T28] audit: type=1800 audit(1664398818.486:16): pid=7812 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.4" name="file0" dev="sda1" ino=1173 res=0 errno=0 21:00:18 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f00000000c0)=@nbd={'/dev/nbd', 0x0}, &(0x7f0000000180)='./file0\x00', &(0x7f0000000140)='ext4\x00', 0x0, 0x0) [ 345.263781][ T7816] overlayfs: unrecognized mount option "lower" or missing value 21:00:18 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lower']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:18 executing program 2: r0 = openat$vimc2(0xffffffffffffff9c, &(0x7f00000024c0), 0x2, 0x0) ioctl$BTRFS_IOC_SNAP_CREATE_V2(r0, 0x50009417, 0x0) 21:00:18 executing program 1: syz_io_uring_setup(0x0, &(0x7f0000000600), &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000000680), &(0x7f00000006c0)) [ 345.314570][ T28] audit: type=1800 audit(1664398818.526:17): pid=7813 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.0" name="file0" dev="sda1" ino=1183 res=0 errno=0 21:00:18 executing program 1: r0 = openat$khugepaged_scan(0xffffffffffffff9c, &(0x7f0000002300), 0x1, 0x0) r1 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ppoll(&(0x7f0000000000)=[{r1}, {r0}], 0x2, 0x0, 0x0, 0x0) [ 345.374067][ T7822] devtmpfs: Unknown parameter 'trans' 21:00:18 executing program 0: r0 = openat$khugepaged_scan(0xffffffffffffff9c, &(0x7f0000000180), 0x1, 0x0) write$khugepaged_scan(r0, &(0x7f0000000000), 0xfffffffffffffdef) 21:00:18 executing program 2: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) r0 = open(&(0x7f0000000040)='./file0\x00', 0x101001, 0x0) write$USERIO_CMD_SET_PORT_TYPE(r0, &(0x7f0000000080), 0x2) open$dir(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) 21:00:18 executing program 4: r0 = openat$apparmor_thread_current(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$apparmor_current(r0, 0x0, 0x0) [ 345.422304][ T10] block nbd5: Attempted send on invalid socket [ 345.429252][ T10] I/O error, dev nbd5, sector 2 op 0x0:(READ) flags 0x1000 phys_seg 1 prio class 2 [ 345.442342][ T7829] EXT4-fs (nbd5): unable to read superblock [ 345.444180][ T7832] loop3: detected capacity change from 0 to 264192 21:00:18 executing program 0: openat$vcsu(0xffffffffffffff9c, &(0x7f0000000100), 0x290000, 0x0) 21:00:18 executing program 5: io_uring_setup(0x54a5, &(0x7f0000000000)) syz_io_uring_setup(0x5ffb, &(0x7f0000000600), &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000000680), &(0x7f00000006c0)) 21:00:18 executing program 1: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) write$RDMA_USER_CM_CMD_REJECT(r0, &(0x7f0000000180)={0x9, 0x108, 0xfa00, {0xffffffffffffffff, 0x0, "864796", "28c29261e15d1659d586884d2174187aff6649c0edccfe93717e8f43e8a4025c7f9dde592c384c9cd29d21889695706db05b376155c585f41b16afae2e1a482537380ea75e9649e4e72fde0c129ac374c1729c316f9cf096e1ad6dc48d25d672c7f008a1fa6ddf26be0772eaf970dfae5877107be6d0558a5fdf30f4bfbb6302152dbbb0eb66d7e0afecfaaf0d8c73817a8d666b37d8c0323d34b39f9122f0697e2c87f0aaa005b51b42f4d91aa51d8ef5c8bb6e6aa0bb6ad8371de71108da158de9706e1703fed4b9da4644b5272e5668f9180d759c486dd73a01283011e14b41ff70482b5beb0c1aa953b0b28c8bc4b436981dd6b2292ddc27795c62521e6b"}}, 0x110) 21:00:18 executing program 4: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000017c0), 0x0, 0x0) fcntl$lock(r0, 0x25, &(0x7f0000001800)={0x0, 0x0, 0xffffffffffffffff}) 21:00:18 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') [ 345.524376][ T7832] overlayfs: unrecognized mount option "lower" or missing value 21:00:18 executing program 5: syz_read_part_table(0x0, 0x1, &(0x7f0000000100)=[{&(0x7f0000000380)="2cfd8be1231f43a5ed2314e105f6f2a48cc124694a7cea7db732e3879e233b1a538b15320788efe4da517ae768a2172492e6782ae2b2443945102307868c25e4942c3c4c0a68edeb00196d5b5c8ca894f50a2e29679f2bf6dc4fc24d3ce45776bec354880e6b59370bb1117bc1b313c487ff8dec31e17e78b1205f667d9ee43e841cbff10ccfd40c9219a0019aee810c0f870494fef8b2066585fc70bb7ccaa2abf8ff33d06d815501d22630d2ea59bc3df4c34867bda32adb3b02471e6bc64003bd9f1a26926d5c49aced82cbd9aabbdcd6f8dcdac4855d46355b9e4ee8194bf920e75183c9f9f45e9f63b1e704ff4ea40301e73908b779d0070cab207b0b059c3c504e310834390108b6b8b51149df0c354ac28a85625b036382d3b74a025cf0da2ba9114e8acf4bda224df06b568a771ac8ed1101c2e09af8d170b1043c88d4a860db60a942d31a8f6530787960de140b1f78aa2ebf2477a1aee629fdcdcc36a864abc7adbdf247ca4b96375738bd219e39e0e124786c77df2c89085a4f5c607d1425d992e0e05d580f0464b9e151ef3bca5843418987359f888e195d2a53bd54ab719b7df28d35ebbc5d2a1daf3b841fc0ae9ad91a29b5be9d15b5dfe728dfdcfb5d49218d134998870e1e96aff2322cfb7caea3793425284742c5dfb0e546f24b044bb79c222f3104c1288f813dc8923381173ac5dce6e815aa7113b90ac798faa2e2e2c380bd206ca1012fc3a9c11dab85bd6af84b3e4e23564bafbfc962febf29365e0dc874d36315efc300bbac723be59e3831bf8133de159c7a1a18ee3d504d860a7af901346a03933502db652750cdf66068361add4eba06b6268cdc9fec4397edd3ad478b83b4dc1ba1598e5b12af28b22b74242b51eaba72718c4836d04168d10952bdf1c6952c1f7ee143d8a8f7d81ecc26f181609690899e767d2c87d5c0312c8aa0a2fae51ac1f1205eeb7d1211c674ceddf739f94282946dfed8a8cf19f31025dac7395fc8c9a46f286cc82d3fc7993f34a8ff05ac02d5330ef21d074c83af0c4dc629e23146ebc06d4b864afcfebe01a82ca1c03ef3322d36c7c604ef988fc7ae0c18e794cbcff6fe8be06260860c9fbcbf678b0cc870c7676038d1172bc741f82cd0ef2ff66b9c9f5bdb99edbbbb54fdd071b1fd080ef9dc94c4bfae972d905fe5e5c5199bc9be1cf02489563d834a000edf8b7f9f3b9f18b57582d52b99693ed19503cc4f9532c2266276c8f949d711c95e3bfede779234b90523feb381764f4779425511fde9a61023e1422bb1a34b8f61789968a8528aa4b408a01af1e7b557b1d810f168b2819da432038055a42c4e8924e3e78e28c9c39745c0ceb9bc99288e70517b3fb50c38b989f392608704075142b9172504ec3c92a2c01fa8f69744ad63be8e53c46ed94a6149d60ae5abd655433f5c9aa81418bc22c7ee8bf3ed658accdeed2eb74cf77660dd09c245864c22cec77cf3aed3fae82a83ed99563843ce8622bbbaa2f362dde674915fed693f6e95cfe0dbb18fea5f26518adeeb8502919a417f46d68c0f16dbf974741378749057d9d3a691571692076b19bd406b6dafe1ba4348fcbcc33a33edcd77d7b86227e1b38c18f830815098d4d6c1beab74df4efefe9a2405709fa35c2f7203aa2e5c15bd6f29ec26f65ea9ebbc24b2d7b593f5ae9b440d7adb71aa6809500bc50412b78f367e44526ee03c20d72d9d2faf03663f85411d83dc72c0f7eb43dee7eb1349e3c30787ecdd79225afce41d78cb9c7d6237f969dd95346ac08d459a77f8da3eed5d05d0f0f6af0a927660ab88a6bb6f04317cf994912acde93cbd68eb265ecc4e725b2d90f5c69054ed2f9c0dbfabeb976ceb1b1b9c2827f21d2cceff37487b88f7efc895116a2a6a249dadb393229fdcbba049fd16355c240f8b861727c3d08e74ac7c9e52130674893c2220915c2522a9c9a41c3879f38d78b87900d3f8bca92a0ab05df494525eb40e6f03885157d71e28b8530b1b3e54902bbf8e1d26dd560cf876b9c92f4e3b89c0d1e890f476b1872e46dc4a80b4e76e0725c1b7401294e93b5cc3f05e47d502738edc5b08de072469416bb4e4a9356aaf3f678eeb0145b71776d689ff707379629225602e685ae0acae9810bebc4d0ba02fadda4336e60a8a830d919ed484b175fbf129d0eb2f5510866e9529b38ae81a8cfa12ca9f57935946bc2cd6eb9ba2f856917997af488d286765497eb922b57534a45e016403bd70d858ad3ee9479a13c412ac9b0709dcbc5ea2df72b400750a488308d662fb7664b561b938fd4bb00379eba1f4a1bebc2cf97315b3f11036cec26f435f24a115589d9f0562fce026cef1bdce591a7863cdfe133bdb09e4bea178af721e2137b3d0b8a3b3326dc8337bb1c120b8685c9de38485d0a428c3af9d394678e8ce495719855c6f51ebcea5af73927198fb56dce6f71ffd234b144cda2bf0043cbb6a201d99c2bc4db97ff7285ab346dce900dfdc1de6762d5ca0e57c0dc18276ebd884cdd3a5f6baaa7972be78e540cff1d22b17045f7e3b07ded4bd3aff03e05f21ad9a63f54ed1498ab885493cfd780a2499b0dd222fecced6df81df42a4c37b7350151444df6bd9b607d2ee0040dc639cfc264d6d8c17fe768d358bbcecea88650fadad5451ea052a602092ef3f78db937870f9468c8722390819eea04a6e421419e9bcee39a508de3fd3dc821b2ef6908d307339c72d541a0df5ce28064ae112672c620f7d65462d816b550cd112fadcd8fccdced80f577d54ba93d884f146dd091982d799d618b2ffd2becaa29d0a7713fc36bdd662df64871faf468b2e4125608d44ecb45082ff23bbdeb4425b13d993d870a5defba24aaab7b778da2333f6f85596e616c469e661b7659eb5f9277306caaa1e25aba1198197802f265363db0d87daf4bdc6110951639a9508e2e8848bee0618d9f707b33af7edd827febdc23c0f876622a05f473971a740700d1d5b20fead25039cb8e557367fc84377c36e278033de0b619cb0eb8827b58dd71ade75951b427d0475ed45ed1aa4b9ded06fedbe2d251d7722c5325faa6837fab6d03c814f056df3c8bd5474773a838031b40065882178b174ef2ed2077bc30d54becec5ce42823265bb37caef5ee3340d71418d5d8607d65a0780cea535cc26af0209038d978a8ae74f80c1420229c63f1fd0b09b3b20d343063378dc7e9fa6a6a5f35ea07fc8bd3440a19c6b50d26393c6aa4b7b23d74cc3d6c55b78d7304380d0da7ddb678b3f8818839afdde8683427f8c8c271970117946c9f52af2c821a940c204a7d81808da5de37d539ed1c34c08a124b1c2669377ffdc94ab33b410fe9c9f59f6fd947e4145c4463229b65be5a229f3a3a4dfae162ba3cf1cc0973549ee862bdfb21a123f706d26882b96edf9c878d88a6a13c78f2e738f29171dc402691fcae15c12ec4e024611a14f2cb26d07e551c52f7046aacf904274b817e71c2eda4ed3153877270124ba8ff4654c73636b7c1a1f2d875dc6dbcab92ed6bfc886e13ad4ea0e290f63206f6ef0a40f3ac8ecc5f1c73d926926225d435d302056cd5043ea636874ed51fb01a0e2c881b90ed1566e1ee40eeab5acf6a83c62cd406bc3771953332ec918905934fdc876208aea5c54743da4f187eb4264a07c90fb567bc24afd7c4f750065783bb6200a4709cd06f15c289b08fe19c13196f9e59ddfe012ca90bd08dd22b6930c8657e707f7f236400dc2fd64a2fd29e4e822ddceeb6cd311c94f81c898c324ff4213fa11567661209d782b1c91d408bb900d7e7185b67ef164611b7bc92660675116da863e78a73103fc72338774ed51115c490e8d059376c9cc292b01060f0ab82fda5644af0e2cdf76d427138a4b6f1dcc802ae8f887be9824a374a2b4f56e730da62eb5450e60f26131ef41c2cbd8a5ea5adf77493ccb5fba0650bd9b9a97c7dd62d45733d9656214dd631b24027c64f01c3f87d49f99f0504ac922809b558b71703e82f920fe212a8e364ae6368e01247779298d77f4dffe24f372492d448e67bbb0cb0617fe6ad0bf55a87942f6db5cc7af3a686d86b9195cdcaa9a841204fa8cac472b5c36a2dc81dea37d2f6a3dc9d8b7e174cd9dcb4c4a15e83cfa086b6b655d5b7893ed81dac9c8918ded16c763bc3bd35b1d3939a65389ff0e27a68d54598713a9684157f8d91a585ed2941b62157725986fa5c5813db7f8cea717086d41eb3881a9385677e355cfd122d0a1ed78c8dc708fc147f1b54595391377050ac648a2c183f1d260b3d1e732dd0d8c37100f4d80266b72deaf333553641b04585862c5c80f6c3ca565d5e0ff1052aeaffa91afa506ef9dd93cde88d5b3f7e2b0637fab04eebfc678ad11a4ec39ca2b4a39f620bcce0b0c4b39f157b9542632105e4065ef7f3f3271684b16cf8d8b75afbe88010ef07b67debd1050a91a25be5c15d58091d68b6bc7041288a142c175d13bf86fbf44b06ad0a6996efcb22d33b3e962a13ec842db703dd2012aa19a84fb66bbd81ec29169d04fca2d09c9a436d1aac608da4c7962d4ae52a3c13fbe9f72f239672674f9fe5fd6fbd0eb6a58eb02690c6a5bd87c68c2e6e0b422b28f3ae63c2d580b927387d73f7b18f4d065e39cffcf3e3e902c39730e46199df5a484847c4bff21b2e853eddc7cf748992e2366bd4f88f5b22968e41237a723a575774e67e667583fd93865d166dcf009c88289063e40bdd2e56572014f69d444d1c362da4c7832c387e369ed4fc59a5bacd8d278ef3b2f1dc06c3d3a7bb42392fa118defd58aa2badef938c225e7b1675468d78315bbdb73538f4442d93553267e16da9c9da9202ac7dbb590279224f6ce33e50fbdf18fbe66daf807f080a58bb351ab2c13ef1933a7400064b01b2e6f2f0140ac31c2f01d2d612826f8437000a401fd81e52f75600693bfb059ec28d443b82c1e3a64c45d16d5803e7a790056a822c3ba4b8037f9a4c9b2d8ce1caf2a1efba04397a5ecf8144d509fd109060a98c8a0d7d22a5c78cad28dfc0d55414382f8de0b90f5676209", 0xe00}]) 21:00:18 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/rt_acct\x00') read$FUSE(r0, &(0x7f0000002680)={0x2020}, 0x2020) 21:00:18 executing program 2: renameat2(0xffffffffffffffff, &(0x7f0000002480)='./file0\x00', 0xffffffffffffffff, 0x0, 0x0) 21:00:18 executing program 1: syz_io_uring_setup(0x3b14, &(0x7f00000000c0), &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffa000/0x3000)=nil, 0x0, 0x0) madvise(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x9) [ 345.635528][ T28] audit: type=1804 audit(1664398818.896:18): pid=7840 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir1278909764/syzkaller.dfhMfo/309/file0" dev="sda1" ino=1175 res=1 errno=0 21:00:19 executing program 4: r0 = openat$apparmor_thread_current(0xffffffffffffff9c, &(0x7f0000000500), 0x2, 0x0) readv(r0, &(0x7f0000000880)=[{&(0x7f0000000700)=""/254, 0xfe}], 0x1) 21:00:19 executing program 0: r0 = openat$vicodec0(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) write$binfmt_script(r0, &(0x7f0000000440)={'#! ', './file0'}, 0xb) 21:00:19 executing program 2: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) write$FUSE_ATTR(r0, &(0x7f0000000080)={0x78, 0x0, 0x0, {0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee00}}}, 0x78) [ 345.692967][ T7848] loop5: detected capacity change from 0 to 7 21:00:19 executing program 1: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000000)='.pending_reads\x00', 0x105b41, 0x0) fallocate(r0, 0x20, 0x0, 0x8) 21:00:19 executing program 4: r0 = fsopen(&(0x7f0000000000)='cifs\x00', 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000040)='):!!{!!\x00', &(0x7f0000000140)='cifs\x00', 0x0) [ 345.758383][ T7848] Dev loop5: unable to read RDB block 7 [ 345.764258][ T7848] loop5: unable to read partition table [ 345.772349][ T7854] loop3: detected capacity change from 0 to 264192 [ 345.797219][ T7848] loop5: partition table beyond EOD, truncated 21:00:19 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:19 executing program 2: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_KEY_STATUS(r0, 0x40086604, 0x0) 21:00:19 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') [ 345.834905][ T7848] loop_reread_partitions: partition scan of loop5 () failed (rc=-5) [ 345.883619][ T2971] Dev loop5: unable to read RDB block 7 [ 345.912939][ T2971] loop5: unable to read partition table [ 345.932199][ T2971] loop5: partition table beyond EOD, truncated 21:00:19 executing program 5: r0 = fsopen(&(0x7f0000000000)='proc\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) fspick(r1, &(0x7f0000000080)='./file0\x00', 0x0) 21:00:19 executing program 4: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x103) statx(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x1000, 0x0, &(0x7f0000000080)) 21:00:19 executing program 1: r0 = openat$pidfd(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = syz_open_procfs$namespace(0x0, &(0x7f0000003c00)='ns/ipc\x00') r2 = dup3(r0, r1, 0x0) getdents64(r2, &(0x7f0000000080)=""/28, 0x1c) 21:00:19 executing program 2: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) write$FUSE_ATTR(r0, &(0x7f0000000040)={0x78, 0x0, 0x0, {0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}}}, 0x78) 21:00:19 executing program 4: r0 = openat$vimc1(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ppoll(&(0x7f0000000080)=[{r0}], 0x1, &(0x7f00000000c0)={0x0, 0x3938700}, 0x0, 0x0) 21:00:19 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') [ 345.958239][ T7872] affs: Unrecognized mount option "]:$" or missing value [ 345.960818][ T7873] EXT4-fs warning (device sda1): __ext4_ioctl:1238: Setting inode version is not supported with metadata_csum enabled. [ 345.994874][ T7875] loop3: detected capacity change from 0 to 264192 [ 346.003302][ T7872] affs: Error parsing options 21:00:19 executing program 1: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='autofs\x00', 0x0, &(0x7f0000000100)=',\x00') 21:00:19 executing program 2: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='net/icmp6\x00') read$FUSE(r0, &(0x7f0000000080)={0x2020}, 0x2020) 21:00:19 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:19 executing program 5: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f00000065c0), 0x101, 0x0) write$sequencer(r0, &(0x7f0000006680)=[@l], 0x8) 21:00:19 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:19 executing program 4: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='net/rpc\x00') fspick(r0, &(0x7f0000000100)='./file0\x00', 0x0) [ 346.114095][ T7886] affs: Unrecognized mount option "]:$" or missing value [ 346.138399][ T7886] affs: Error parsing options [ 346.153307][ T7889] autofs4:pid:7889:autofs_fill_super: called with bogus options 21:00:19 executing program 1: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) 21:00:19 executing program 5: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0x14, &(0x7f0000000180)=[0xffffffffffffffff], 0x1) 21:00:19 executing program 2: syz_io_uring_setup(0x5683, &(0x7f0000000000)={0x0, 0x0, 0x300}, &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ff8000/0x4000)=nil, &(0x7f0000000080), &(0x7f00000000c0)) 21:00:19 executing program 4: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x103) mount$9p_virtio(0x0, &(0x7f0000001140)='./file0\x00', 0x0, 0x1020, 0x0) 21:00:19 executing program 2: syz_read_part_table(0x0, 0x2, &(0x7f0000000180)=[{0x0, 0x0, 0x4000000c6}, {&(0x7f0000000100)="36ebbe5c36b3f0346540feff5814cf6472d61dc7ca85f92d54d4677c971f52adb4545db2c460004a39803b9714e389846747128e4f705c37a69282f0eafab4e5ad174d00a805256cf4570f16fafae6e4d483b5214b51ac611446bbfa0dc2af4110539d81b8c0717b752e934d082c782ebcdce3672c96ae4c35d97abfc504", 0x7e}]) 21:00:19 executing program 1: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_KEY_STATUS(r0, 0x800c6613, 0x0) 21:00:19 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') [ 346.249804][ T7896] affs: Unrecognized mount option "]:$" or missing value [ 346.259815][ T7899] loop3: detected capacity change from 0 to 264192 [ 346.279479][ T7896] affs: Error parsing options 21:00:19 executing program 5: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='net/ipv6_route\x00') read$FUSE(r0, &(0x7f0000000080)={0x2020}, 0x2020) 21:00:19 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./fil']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:19 executing program 4: r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', 0x181141, 0x0) fallocate(r0, 0x10, 0x0, 0x8800000) openat$nvram(0xffffffffffffff9c, 0x0, 0x0, 0x0) fsconfig$FSCONFIG_SET_PATH(0xffffffffffffffff, 0x3, &(0x7f0000006580)='@\x00', 0x0, 0xffffffffffffff9c) 21:00:19 executing program 1: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000080)='/proc/vmstat\x00', 0x0, 0x0) read$sequencer(r0, &(0x7f00000000c0)=""/4096, 0x1000) 21:00:19 executing program 5: openat$uhid(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) pselect6(0x40, &(0x7f0000000100), &(0x7f0000000140)={0x8}, 0x0, 0x0, 0x0) [ 346.405212][ T7912] affs: Unrecognized mount option "]:$" or missing value [ 346.428166][ T7912] affs: Error parsing options 21:00:19 executing program 0: mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:19 executing program 2: r0 = fsopen(&(0x7f0000000000)='exfat\x00', 0x0) r1 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) dup3(r1, r0, 0x0) 21:00:19 executing program 1: mount$fuseblk(&(0x7f0000003680), &(0x7f00000036c0)='./file1\x00', &(0x7f0000003700), 0x0, 0x0) 21:00:19 executing program 4: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0x2, &(0x7f0000000180)=[r0], 0x1) [ 346.474075][ T7921] loop3: detected capacity change from 0 to 264192 21:00:19 executing program 0: mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:19 executing program 2: syz_read_part_table(0x0, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000240)="7129c740b71458b1ebcb7ba94abd4278d78606d4f90d9900000000000000046b5bb951b7137879e4a810af68be25801bd0c0183149cc893be2e7091680c01587c94f251023a0ab0c735e057e68827ee8068495caff6612860e92fa396f70466a20c7bedb656c4c5aa804253d3bc5f16d4fee5f", 0x73, 0x17c}]) 21:00:19 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000017c0), 0x0, 0x0) fcntl$lock(r0, 0x25, 0x0) 21:00:19 executing program 5: r0 = syz_io_uring_setup(0x6da2, &(0x7f00000000c0), &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000000), &(0x7f0000000140)) io_uring_register$IORING_UNREGISTER_BUFFERS(r0, 0x18, 0x0, 0x0) 21:00:19 executing program 4: r0 = openat$apparmor_thread_current(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) readv(r0, 0x0, 0x0) 21:00:19 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./fil']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') [ 346.567535][ T7921] overlayfs: failed to resolve './fil': -2 21:00:19 executing program 0: mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:19 executing program 1: r0 = openat$misdntimer(0xffffffffffffff9c, &(0x7f0000000400), 0x0, 0x0) r1 = openat$uinput(0xffffffffffffff9c, &(0x7f0000002900), 0x0, 0x0) ppoll(&(0x7f0000000000)=[{r0}, {r1}], 0x2, &(0x7f0000000040)={0x0, 0x989680}, 0x0, 0x0) 21:00:19 executing program 5: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f0000002180), 0x2, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r0, 0xc0189436, 0x0) 21:00:20 executing program 0: mknod(0x0, 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:20 executing program 4: write$FUSE_ATTR(0xffffffffffffffff, &(0x7f0000002100)={0x78, 0x0, 0x0, {0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee00}}}, 0x78) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x101141, 0x0) pwritev(r0, &(0x7f0000001880)=[{&(0x7f0000000380)="1a1f9017df653e187e79364cb63ac5c92ec7eac7369ac507a16ad46e57d563a648e728596d84ab9b9b45cd50f95a54a0288d681c899a2afc093b50a2a4acf8184715e4a863b9bb3037933f55e73a5c85110a893f1a4c7bff1b097b8a54450c7096b64903b7411725", 0x68}, {&(0x7f0000000400)="93c1a56063fde4287d58aa610be3ce104714321a08b19de2aa0800d6056a2736467c5f930d4767929b7c325c68b26bb78efa4dd5eef80183f1cd2c4edb4115690c206a8edeb02328f04197e66569bab7c4bf184dcd6b116e824881d69bfb585e009a0d0095c7a20447a6ea8f8cd3a3a7f733d8efd76712d67900734735db15df6da03b639db7375fd68ac6955536a10174151eb9da0030710675cb5581169c3169409109d93629dfefcd808fbd7a82e160edc3f8127e3a0a2720def77aef91edac44976a453182df90a130bf0c74b611d9", 0xd1}, {&(0x7f0000000500)="85611062ea2deaf2787f8b5c5538641edc9f86899da4a569b6938edffb1b1402a5026f002caa4609723cb695d8a708611e9ffa7259768a142ed97e6e873477751fa3b4c37c59e739191ceb4063acdc2ceaa153f01b0a4aa8f469685ee00fec90d4e6aaac00b486d4c517fcb846e70f596ca74ba0fc8c5473d71a77a0dc460816a99771", 0x83}, {&(0x7f00000005c0)="714d21c4b62c9e9da23c362307438bf0fd6afa1015c06adda643ae08bfc2d3f36bbed6ba55dd3bd1590e565b0711115072a75e32d4a984400b6bd9f3443145445953d7b7b89ed2bab5be5d723e5bdc8de6d91ff9d6a3c779de4158157f1f87945b141eaacac72b8289ef5417a0c323bcca7f993e83a94bdb70cec7a159412565fd23eea95857fe442d8c21e4a96bd364b5b0f4eed0c2d7d895cc39fb309d6802e3bde72fc9db9636e1de316ded3636c66f4dabdd1024ecad0baeaa05c853e0dd2125", 0xc2}], 0x1000000000000162, 0xffff, 0x4) 21:00:20 executing program 2: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x103) mount$fuseblk(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x10b7458, 0x0) mount_setattr(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0, &(0x7f0000000140)={0x0, 0x74}, 0x20) 21:00:20 executing program 1: syz_io_uring_setup(0x6b3, &(0x7f0000000080)={0x0, 0x0, 0x2}, &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000000100), &(0x7f0000000140)) 21:00:20 executing program 5: openat$qrtrtun(0xffffffffffffff9c, &(0x7f0000000200), 0x0) pselect6(0x40, &(0x7f0000000000), &(0x7f0000000140)={0x9}, 0x0, 0x0, 0x0) [ 346.766836][ T7948] loop3: detected capacity change from 0 to 264192 21:00:20 executing program 2: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000003240), 0x2, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, &(0x7f00000032c0)={0x0, 0x18, 0xfa00, {0x0, &(0x7f0000003280), 0x106}}, 0x20) 21:00:20 executing program 0: mknod(0x0, 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:20 executing program 4: fsopen(&(0x7f0000000000)='ncpfs\x00', 0x0) 21:00:20 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./fil']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:20 executing program 1: r0 = syz_io_uring_setup(0x1c91, &(0x7f0000000600), &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffc000/0x2000)=nil, &(0x7f0000000680), &(0x7f00000006c0)) io_uring_register$IORING_UNREGISTER_PERSONALITY(r0, 0xa, 0x0, 0x0) 21:00:20 executing program 5: mount$fuse(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000180), 0x0, 0x0) [ 346.818891][ T7948] overlayfs: failed to resolve './fil': -2 21:00:20 executing program 5: r0 = fsopen(&(0x7f0000000000)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000b00), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, &(0x7f0000000240)={{0x1, 0x1, 0x18, r0}, './file0/file0\x00'}) 21:00:20 executing program 0: mknod(0x0, 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:20 executing program 2: r0 = fsopen(&(0x7f0000000000)='ext2\x00', 0x0) write$cgroup_subtree(r0, 0x0, 0x0) 21:00:20 executing program 1: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0xb, 0x0) [ 346.957605][ T7974] loop3: detected capacity change from 0 to 264192 21:00:20 executing program 5: r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f00000002c0)='/proc/self/clear_refs\x00', 0x1, 0x0) r1 = fsopen(&(0x7f0000000000)='virtiofs\x00', 0x0) dup3(r0, r1, 0x0) 21:00:20 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:20 executing program 4: r0 = openat$tcp_congestion(0xffffffffffffff9c, &(0x7f0000000280), 0x1, 0x0) write$tcp_congestion(r0, 0x0, 0x0) 21:00:20 executing program 2: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) [ 347.014306][ T7974] overlayfs: failed to resolve './fil': -2 21:00:20 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:20 executing program 1: openat$sysctl(0xffffffffffffff9c, &(0x7f0000002580)='/proc/sys/net/ipv4/tcp_recovery\x00', 0x1, 0x0) 21:00:20 executing program 4: syz_io_uring_setup(0x7387, &(0x7f0000000080)={0x0, 0x20000000, 0x1fff}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000000), &(0x7f0000000140)) 21:00:20 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount$cgroup(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000080), 0x0, &(0x7f0000000040)={[{@name={'name', 0x3d, 'adfs\x00'}}]}) 21:00:20 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:20 executing program 1: r0 = fsopen(&(0x7f0000000000)='proc\x00', 0x0) r1 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000280), 0x0, 0x0) dup3(r1, r0, 0x0) 21:00:20 executing program 2: r0 = fsopen(&(0x7f0000000040)='ramfs\x00', 0x0) r1 = openat$sysctl(0xffffffffffffff9c, &(0x7f00000002c0)='/proc/self/clear_refs\x00', 0x1, 0x0) fsconfig$FSCONFIG_SET_FD(r0, 0x5, &(0x7f00000000c0)='ramfs\x00', 0x0, r1) 21:00:20 executing program 5: r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000000), 0x109642, 0x0) write$RDMA_USER_CM_CMD_DISCONNECT(r0, &(0x7f0000000040)={0x3e7ffff, 0x4}, 0xfdef) 21:00:20 executing program 4: r0 = openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) read$FUSE(r0, &(0x7f00000020c0)={0x2020}, 0x2020) [ 347.179751][ T7992] loop3: detected capacity change from 0 to 264192 [ 347.211837][ T7997] cgroup: No subsys list or none specified 21:00:20 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') [ 347.225400][ T7992] overlayfs: failed to resolve './file': -2 21:00:20 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:20 executing program 1: syz_io_uring_setup(0x493c, &(0x7f0000004a40)={0x0, 0xae4e, 0x8}, &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffb000/0x1000)=nil, &(0x7f0000004ac0), &(0x7f0000004b00)) 21:00:20 executing program 2: r0 = creat(&(0x7f0000003780)='./file0\x00', 0x0) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r0, 0xc0506617, &(0x7f0000000080)={@id={0x2, 0x0, @d}, 0x21, 0x0, '\x00', @c}) 21:00:20 executing program 5: r0 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x2a140, 0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x80013, r0, 0x8000000) 21:00:20 executing program 4: io_uring_setup(0x2a1d, &(0x7f0000000040)={0x0, 0x0, 0x4}) 21:00:20 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, 0x0, &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:20 executing program 1: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000002140), 0x2, 0x0) vmsplice(r0, &(0x7f0000002400)=[{&(0x7f0000002180)='X', 0x1}], 0x1, 0x0) 21:00:20 executing program 4: r0 = syz_io_uring_setup(0x5571, &(0x7f0000000080), &(0x7f0000400000/0xc00000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000140), &(0x7f0000000180)) io_uring_register$IORING_REGISTER_FILES(r0, 0x9, 0x0, 0x4000) 21:00:20 executing program 5: openat$qrtrtun(0xffffffffffffff9c, &(0x7f0000000000), 0x0) pselect6(0x40, &(0x7f0000000200)={0x9}, 0x0, 0x0, &(0x7f00000002c0)={0x0, 0x989680}, 0x0) 21:00:20 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, 0x0, &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') [ 347.409120][ T8017] loop3: detected capacity change from 0 to 264192 21:00:20 executing program 1: r0 = openat$rfkill(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = epoll_create(0x1) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000040)={0x20002014}) 21:00:20 executing program 4: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x1051c1, 0x0) fallocate(r0, 0x0, 0x49180, 0x9) pwritev(r0, &(0x7f0000001880)=[{&(0x7f0000000380)="1a", 0x1}], 0x1, 0x0, 0x0) 21:00:20 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:20 executing program 5: openat$qrtrtun(0xffffffffffffff9c, &(0x7f0000000000), 0x0) pselect6(0x40, &(0x7f0000000200)={0x9}, 0x0, 0x0, &(0x7f00000002c0)={0x0, 0x989680}, 0x0) [ 347.524121][ T8017] overlayfs: failed to resolve './file': -2 21:00:20 executing program 2: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) write$FUSE_INTERRUPT(r0, 0x0, 0x0) 21:00:20 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, 0x0, &(0x7f0000000300)='affs\x00', 0x0, &(0x7f0000000340)=']:$\x00') 21:00:20 executing program 4: openat$adsp1(0xffffffffffffff9c, &(0x7f0000000240), 0x105000, 0x0) 21:00:20 executing program 5: openat$damon_mk_contexts(0xffffffffffffff9c, &(0x7f00000000c0), 0xaa382, 0x0) 21:00:20 executing program 1: pselect6(0x40, &(0x7f0000000080), &(0x7f00000000c0), &(0x7f0000000100)={0x420c}, &(0x7f0000000180), &(0x7f0000000200)={0x0}) 21:00:21 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000340)=']:$\x00') 21:00:21 executing program 2: r0 = io_uring_setup(0x30a, &(0x7f0000000000)) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x0, &(0x7f0000000300)=[{&(0x7f00000000c0)}], 0x1) 21:00:21 executing program 1: r0 = fsopen(&(0x7f0000004380)='affs\x00', 0x0) fsconfig$FSCONFIG_SET_BINARY(r0, 0x2, &(0x7f00000043c0)='/dev/vcsa\x00', &(0x7f00000044c0)="a8", 0x1) 21:00:21 executing program 5: syz_read_part_table(0xffffffffffffffe1, 0x1, &(0x7f0000000240)=[{&(0x7f00000001c0)="c9", 0x1}]) [ 347.688737][ T8045] loop3: detected capacity change from 0 to 264192 21:00:21 executing program 4: syz_io_uring_setup(0x493c, &(0x7f0000004a40), &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffb000/0x1000)=nil, &(0x7f0000004ac0), &(0x7f0000004b00)) 21:00:21 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(0x0) link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:21 executing program 5: r0 = syz_open_procfs(0x0, &(0x7f0000002240)='mountstats\x00') read$FUSE(r0, &(0x7f0000000180)={0x2020}, 0x2020) [ 347.786408][ T8045] overlayfs: failed to resolve './file': -2 21:00:21 executing program 1: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x40c, &(0x7f0000000040)) 21:00:21 executing program 2: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000040)=@nbd={'/dev/nbd', 0x0}, &(0x7f0000000080)='./file0\x00', 0x0, 0x1000, 0x0) open$dir(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) 21:00:21 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000340)=']:$\x00') 21:00:21 executing program 4: openat$cgroup_subtree(0xffffffffffffffff, &(0x7f0000000040), 0x2, 0x0) 21:00:21 executing program 1: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000002100)='net/wireless\x00') read$FUSE(r0, &(0x7f0000000040)={0x2020}, 0x2020) 21:00:21 executing program 1: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0xd, 0x0, 0x0) 21:00:21 executing program 2: mount$fuse(0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0) 21:00:21 executing program 5: openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x2a140, 0x0) mount$fuseblk(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', 0x0, 0xf70f, 0x0) r0 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) read$FUSE(r0, 0x0, 0x5) [ 347.947786][ T8072] loop3: detected capacity change from 0 to 264192 21:00:21 executing program 4: r0 = epoll_create(0x9) epoll_pwait(r0, &(0x7f0000000080)=[{}], 0x1, 0x0, 0x0, 0x0) 21:00:21 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000340)=']:$\x00') 21:00:21 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(0x0) link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:21 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x800, 0x0) r0 = open(&(0x7f0000000040)='./file0\x00', 0x101001, 0x0) write$binfmt_script(r0, &(0x7f00000000c0)={'#! ', './file0'}, 0xb) 21:00:21 executing program 1: r0 = openat$damon_monitor_on(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = io_uring_setup(0x6c90, &(0x7f0000000100)) r2 = dup2(r0, r1) read$qrtrtun(r2, 0x0, 0x0) 21:00:21 executing program 4: r0 = fsopen(&(0x7f0000000000)='xfs\x00', 0x0) fsconfig$FSCONFIG_SET_PATH_EMPTY(r0, 0x6, &(0x7f0000000080)='3\x00', 0x0, 0xffffffffffffff9c) 21:00:21 executing program 2: r0 = openat$tcp_congestion(0xffffffffffffff9c, &(0x7f00000000c0), 0x1, 0x0) ppoll(&(0x7f0000000100)=[{r0}], 0x1, &(0x7f0000000140), 0x0, 0x0) 21:00:21 executing program 4: openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) pselect6(0x9a, &(0x7f0000000000)={0x8}, 0x0, 0x0, 0x0, 0x0) 21:00:21 executing program 1: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/crypto\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) 21:00:21 executing program 5: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$FUSE_INTERRUPT(r0, 0x0, 0x0) 21:00:21 executing program 2: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) read$sequencer(r0, 0x0, 0x0) 21:00:21 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=@nullb, &(0x7f00000001c0)='./file0\x00', &(0x7f0000000300)='affs\x00', 0x0, 0x0) 21:00:21 executing program 4: r0 = openat$apparmor_thread_current(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(0xffffffffffffffff, 0x1, r0, &(0x7f0000000040)={0x10002010}) creat(&(0x7f0000003780)='./file0\x00', 0x22) 21:00:21 executing program 5: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) mmap$fb(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x10, r0, 0x0) [ 348.225250][ T8104] loop3: detected capacity change from 0 to 264192 21:00:21 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(0x0) link(&(0x7f0000000300)='./file3\x00', &(0x7f0000000380)='./file4\x00') 21:00:21 executing program 1: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@sg0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080)='v7\x00', 0x0, 0x0) 21:00:21 executing program 2: openat$autofs(0xffffffffffffff9c, &(0x7f0000002140), 0x0, 0x0) pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0x9}, &(0x7f00000000c0)={0x0, 0x989680}, 0x0) 21:00:21 executing program 0: mknod(0x0, 0x4000, 0x0) 21:00:21 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:21 executing program 4: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_KEY_STATUS(r0, 0x41009432, 0x0) [ 348.346756][ T8114] affs: No valid root block on device nullb0 21:00:21 executing program 1: r0 = fsopen(&(0x7f0000000000)='devtmpfs\x00', 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000040)='\xbf@&$&\x1b\x00', &(0x7f0000000140)='+@!$$,,\x00\xd6_\xaa\v\x05j\xc9\xec\r\x9b\xf4\f&_09\x0f\xad\x9eLw\x93\xaa\xe5\xa9B\x00\x9bn\xf2,Wz\xba\xd5|\x84\\C\xe4FU\x96\xffq\xe5FM\xc8\x17\xc7\xa7r\xce\xe3^\xd3\xc4\x8d6\x92\x89\n\xfa\x99yC:;\x1b\f\x00\x00\x18\x11~\xed\f\xd4', 0x0) 21:00:21 executing program 2: openat$fuse(0xffffffffffffff9c, &(0x7f0000000e80), 0x2, 0x0) 21:00:21 executing program 0: madvise(&(0x7f0000ffa000/0x6000)=nil, 0x6000, 0x14) 21:00:21 executing program 4: mount_setattr(0xffffffffffffffff, 0x0, 0x0, &(0x7f0000001100)={0x100067, 0x81}, 0x20) [ 348.459888][ T8125] loop3: detected capacity change from 0 to 264192 [ 348.470000][ T10] block nbd5: Attempted send on invalid socket [ 348.476222][ T10] I/O error, dev nbd5, sector 16 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 348.492610][ T8128] qnx6: unable to read the first superblock 21:00:21 executing program 4: r0 = fsopen(&(0x7f0000000100)='tracefs\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0xa) 21:00:21 executing program 1: mknodat$loop(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) mount$fuseblk(&(0x7f00000000c0), &(0x7f0000000100)='./file0\x00', &(0x7f0000000140), 0x0, 0x0) [ 348.504835][ T10] block nbd5: Attempted send on invalid socket [ 348.511310][ T10] I/O error, dev nbd5, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 348.529471][ T8128] qnx6: unable to read the first superblock [ 348.535802][ T8128] qnx6: unable to read the first superblock 21:00:21 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(0x0, &(0x7f0000000380)='./file4\x00') 21:00:21 executing program 2: r0 = open$dir(&(0x7f0000000180)='./file0\x00', 0xc6043, 0x0) ioctl$AUTOFS_DEV_IOCTL_VERSION(r0, 0x40806685, 0x0) 21:00:21 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:21 executing program 4: r0 = openat$6lowpan_enable(0xffffffffffffff9c, &(0x7f0000000180), 0x2, 0x0) write$6lowpan_enable(r0, 0x0, 0x0) 21:00:21 executing program 0: r0 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x12b1c1, 0x0) write$FUSE_INTERRUPT(r0, &(0x7f0000000140)={0x10}, 0x10) read$FUSE(0xffffffffffffffff, 0x0, 0x0) 21:00:21 executing program 1: r0 = openat$qat_adf_ctl(0xffffffffffffff9c, &(0x7f0000000040), 0x200280, 0x0) ioctl$BTRFS_IOC_DEV_INFO(r0, 0xd000941e, 0x0) 21:00:21 executing program 4: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) write$FUSE_CREATE_OPEN(r0, &(0x7f0000000240)={0xa0, 0x5, 0x0, {{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee00}}}}, 0xa0) 21:00:22 executing program 2: io_uring_setup(0x3a57, &(0x7f00000001c0)={0x0, 0x0, 0x23}) [ 348.645624][ T28] audit: type=1800 audit(1664398821.906:19): pid=8148 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=1191 res=0 errno=0 [ 348.650284][ T53] block nbd5: Attempted send on invalid socket [ 348.673810][ T53] I/O error, dev nbd5, sector 16 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 348.686911][ T8145] qnx6: unable to read the first superblock 21:00:22 executing program 4: lstat(&(0x7f00000000c0)='./file0\x00', 0x0) mount$fuseblk(0x0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0) [ 348.739153][ T10] block nbd5: Attempted send on invalid socket [ 348.745423][ T10] I/O error, dev nbd5, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 348.757050][ T8145] qnx6: unable to read the first superblock [ 348.778974][ T8145] qnx6: unable to read the first superblock 21:00:22 executing program 0: r0 = fsopen(&(0x7f0000000000)='xfs\x00', 0x0) fsconfig$FSCONFIG_SET_PATH_EMPTY(r0, 0x2, &(0x7f0000000080)='3\x00', 0x0, 0xffffffffffffff9c) 21:00:22 executing program 2: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_KEY_STATUS(r0, 0x6628, 0x0) 21:00:22 executing program 1: openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x12b1c0, 0x0) mount$fuseblk(&(0x7f0000000140), &(0x7f0000000180)='./file0\x00', &(0x7f00000001c0), 0x1000, &(0x7f0000000200)=ANY=[]) [ 348.854665][ T8159] overlayfs: failed to resolve './file0': -2 21:00:22 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(0x0, &(0x7f0000000380)='./file4\x00') 21:00:22 executing program 0: openat$audio1(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) 21:00:22 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:22 executing program 4: openat$damon_mk_contexts(0xffffffffffffff9c, &(0x7f0000003940), 0x0, 0x0) 21:00:22 executing program 2: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000017c0), 0x0, 0x0) fcntl$lock(r0, 0x25, &(0x7f0000001800)) 21:00:22 executing program 1: openat$ptp0(0xffffffffffffff9c, &(0x7f0000000100), 0x44400, 0x0) [ 348.996329][ T53] block nbd5: Attempted send on invalid socket [ 349.002846][ T53] I/O error, dev nbd5, sector 16 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 349.015547][ T8171] qnx6: unable to read the first superblock [ 349.035224][ T53] block nbd5: Attempted send on invalid socket 21:00:22 executing program 2: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000180)=@sg0, &(0x7f0000000080)='./file0\x00', 0x0, 0x2121005, 0x0) mount$cgroup(0x0, &(0x7f0000000040)='./file0\x00', 0x0, 0x1123022, 0x0) 21:00:22 executing program 4: r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000000), 0x109642, 0x0) write$RDMA_USER_CM_CMD_DISCONNECT(r0, &(0x7f0000000040)={0xa, 0x4}, 0xc) [ 349.041594][ T53] I/O error, dev nbd5, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 349.050789][ T8175] loop3: detected capacity change from 0 to 264192 [ 349.058616][ T8171] qnx6: unable to read the first superblock 21:00:22 executing program 2: r0 = openat$apparmor_thread_current(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$apparmor_current(r0, &(0x7f0000002440)=@hat={'changehat '}, 0x1d) 21:00:22 executing program 1: r0 = io_uring_setup(0x4a2a, &(0x7f0000000000)) fstat(r0, &(0x7f0000000100)) 21:00:22 executing program 0: r0 = syz_io_uring_setup(0x6da2, &(0x7f00000000c0), &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000000), &(0x7f0000000140)) io_uring_register$IORING_UNREGISTER_BUFFERS(r0, 0x14, 0x0, 0x0) [ 349.100011][ T8171] qnx6: unable to read the first superblock 21:00:22 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:22 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(0x0, &(0x7f0000000380)='./file4\x00') 21:00:22 executing program 4: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x1000, 0x103) r0 = open(&(0x7f00000000c0)='./file0\x00', 0x80182, 0x0) read$FUSE(r0, &(0x7f00000022c0)={0x2020}, 0x2020) write$RDMA_USER_CM_CMD_ACCEPT(r0, &(0x7f0000000180)={0x8, 0x120, 0xfa00, {0x0, {0x0, 0x0, "c3f32928d7b119b49948b110fed5d7951081c7188eb1146acc1c22bfac1a5dc65ebcc3ced7f5cdf8e47b5b05856388628625acaf2ec75703bb6c2989d5b436dbbee7330a01432d48cc9cc9743eb9e1fceddfbbbb1fa1423b9c1d7eb90b13df90886259c1f45755fad4b6cc724a0cf82ca09fcdbbd0b29aa0d695769e25d19efe57514c6d98f5200146f31c03fb0fc774107265d271b2c8ba757e5a9a7111871bedcb55fa35b992ddf3c46b28917ce6a5cb63c22fb628575efac401f750079ae593eca6f8ab019b34f299213f49261de2ca4ecb11e1506f9efa2ad00c480484ef94f0322abac1a96db2aba034de8c5fe5b2f396b402f884203b790a88f09e3f5a"}}}, 0xfffffdef) 21:00:22 executing program 1: r0 = openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) preadv2(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 21:00:22 executing program 0: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000280)='/proc/sys/net/ipv4/vs/sync_version\x00', 0x2, 0x0) write$damon_attrs(r0, 0x0, 0x0) 21:00:22 executing program 2: openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000000), 0x101000, 0x0) [ 349.233314][ T8187] AppArmor: change_hat: Invalid input, NULL hat and NULL magic [ 349.251288][ T53] block nbd5: Attempted send on invalid socket [ 349.266977][ T53] I/O error, dev nbd5, sector 16 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 349.276730][ T8192] qnx6: unable to read the first superblock 21:00:22 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='timerslack_ns\x00') read$dsp(r0, &(0x7f0000002200)=""/154, 0x9a) 21:00:22 executing program 2: r0 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r0, 0x4020940d, &(0x7f0000000080)={{0x1, 0x1, 0xffffffffffffff63}, './file0\x00'}) 21:00:22 executing program 0: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f00000000c0)='gid_map\x00') write$FUSE_NOTIFY_POLL(r0, 0x0, 0x0) 21:00:22 executing program 2: syz_read_part_table(0x0, 0x1, &(0x7f00000000c0)=[{&(0x7f00000001c0)="7129c740b71458b1ebcb7ba94abd4278d78606d4f90d99df3f4fab71ddfe6e6b5bb951b7137879e4a810af68be25801bd0c0183149cc893be2e7091680c01587c94f251023a0ab0c735e057e68827ee8068495caff4012860e92fa396f70466a20c7bedb656c4c5aa804253d3bc5f16ddb", 0x71, 0x17c}]) [ 349.351412][ T53] block nbd5: Attempted send on invalid socket [ 349.357734][ T53] I/O error, dev nbd5, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 349.367135][ T8192] qnx6: unable to read the first superblock [ 349.378352][ T8192] qnx6: unable to read the first superblock 21:00:22 executing program 1: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000180)=@sg0, &(0x7f0000000080)='./file0\x00', 0x0, 0x2121005, 0x0) mount_setattr(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, &(0x7f0000000100)={0x0, 0x0, 0x100000}, 0x20) 21:00:22 executing program 5: mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:22 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/vmstat\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002240)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f0000000140)={0x2020}, 0x2020) [ 349.447783][ T8209] loop3: detected capacity change from 0 to 264192 21:00:22 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', 0x0) [ 349.650438][ T8220] loop3: detected capacity change from 0 to 264192 21:00:23 executing program 4: write$sndseq(0xffffffffffffffff, 0x0, 0x0) 21:00:23 executing program 0: r0 = fsopen(&(0x7f0000000040)='hugetlbfs\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) dup3(r1, r0, 0x0) 21:00:23 executing program 1: r0 = io_uring_setup(0x384a, &(0x7f0000000280)={0x0, 0x7ff0}) io_uring_register$IORING_UNREGISTER_FILES(r0, 0x3, 0x0, 0x0) 21:00:23 executing program 5: mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:23 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/dev_mcast\x00') read$FUSE(r0, &(0x7f0000000080)={0x2020}, 0x2020) 21:00:23 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', 0x0) 21:00:23 executing program 1: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x409, 0x0) 21:00:23 executing program 5: mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:23 executing program 2: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000080)=@sg0, &(0x7f0000000340)='./file0\x00', &(0x7f0000000280)='cramfs\x00', 0x0, 0x0) 21:00:23 executing program 0: syz_io_uring_setup(0x26da2, &(0x7f00000000c0)={0x0, 0x0, 0x10}, &(0x7f0000000000/0x4000)=nil, &(0x7f0000ffe000/0x1000)=nil, 0x0, 0x0) r0 = openat$cuse(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) write$FUSE_BMAP(r0, &(0x7f0000000200)={0x18}, 0x18) [ 350.278864][ T8229] loop3: detected capacity change from 0 to 264192 21:00:23 executing program 4: r0 = openat$khugepaged_scan(0xffffffffffffff9c, &(0x7f0000000180), 0x1, 0x0) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f0000000000)={0x0, 0x2}) 21:00:23 executing program 1: r0 = syz_io_uring_setup(0x6da2, &(0x7f0000000040), &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000ffc000/0x2000)=nil, &(0x7f0000001680), &(0x7f0000000140)) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x0, &(0x7f0000001540)=[{0x0}], 0x1) 21:00:23 executing program 3: mkdir(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54030f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[], 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f00000001c0)='./bus\x00') link(&(0x7f0000000300)='./file3\x00', 0x0) 21:00:23 executing program 5: mknod(0x0, 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:23 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000040)='rpc_pipefs\x00', 0x0, 0x0) [ 350.402751][ T8238] MTD: Couldn't look up '/dev/sg0': -15 [ 350.431123][ T8238] /dev/sg0: Can't open blockdev 21:00:23 executing program 2: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x103) mount$fuseblk(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x10b5458, 0x0) mount$fuseblk(0x0, &(0x7f0000000180)='./file0\x00', 0x0, 0x40000, 0x0) 21:00:23 executing program 4: syz_open_procfs$namespace(0x0, &(0x7f00000013c0)='ns/uts\x00') 21:00:23 executing program 5: mknod(0x0, 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:23 executing program 1: r0 = openat$audio1(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$FS_IOC_RESVSP(r0, 0x40305828, 0x0) 21:00:23 executing program 2: r0 = fsopen(&(0x7f0000000000)='tmpfs\x00', 0x0) fsconfig$FSCONFIG_SET_BINARY(r0, 0x2, &(0x7f0000000100)='*\xa1o^s\x00\x8a\xe0j\x9e\xd8\x84Y\x17q\x88\' \xd9\xfd<\x01\x99\xf9\xea\'Q!\x93\x97,\xb6\x90\x04\xbb2R\x80Z\xc1L\xbe\xa3\xa2\xf2\xf9\x9a\xa4\xe8\x19M\xd7\a\xb7H\x85E\xdc\xa5\xc7\xf9x`\x9e@\x03\xd6\xc7\xa4\xd9_\xbf\xe08\xad\xa8&\x16)\xc3:\xbf\x1f\xd4\x98\xab\xde\x8c\xd0K\x8a\xa0\xdc\x10\xcdUlTA\x1c\x9df\x04\xbe\xef\x0f\t\xe0U~EN\x8eRn\xad\x9bW', &(0x7f00000000c0)="e6", 0x1) r1 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000280), 0x0, 0x0) read$FUSE(r0, &(0x7f0000000180)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) fcntl$setown(r1, 0x8, r2) 21:00:23 executing program 0: syz_io_uring_setup(0x493c, &(0x7f0000004a40)={0x0, 0x0, 0x8}, &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffb000/0x1000)=nil, &(0x7f0000004ac0), &(0x7f0000004b00)) 21:00:23 executing program 4: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0x15, 0x0, 0x0) [ 350.626618][ T8253] loop3: detected capacity change from 0 to 264192 21:00:24 executing program 5: mknod(0x0, 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:24 executing program 2: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x101141, 0x0) fallocate(r0, 0x0, 0x0, 0x8800000) 21:00:24 executing program 1: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0x19, &(0x7f0000000180), 0x0) 21:00:24 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/nf_conntrack\x00') read$dsp(r0, &(0x7f0000002200)=""/154, 0x9a) 21:00:24 executing program 4: r0 = openat$incfs(0xffffffffffffff9c, &(0x7f00000000c0)='.log\x00', 0x101141, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_KEY_STATUS(r0, 0xc0046686, 0x0) 21:00:24 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:24 executing program 3: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/asound/timers\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000080)={0x2020}, 0x2020) 21:00:24 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:24 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='timerslack_ns\x00') write$RDMA_USER_CM_CMD_CREATE_ID(r0, 0x0, 0x0) 21:00:24 executing program 2: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x101141, 0x0) fallocate(r0, 0x0, 0x0, 0x8800000) 21:00:24 executing program 3: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x407, 0x0) 21:00:24 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='uid_map\x00') read$FUSE(r0, &(0x7f0000000080)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f00000020c0)={0x2020}, 0x2020) 21:00:24 executing program 4: openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000180), 0x88040, 0x0) 21:00:24 executing program 0: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x25, &(0x7f0000000040)) 21:00:24 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:24 executing program 3: open$dir(&(0x7f0000000040)='.\x00', 0xa62841, 0x0) 21:00:24 executing program 2: r0 = creat(&(0x7f0000003780)='./file0\x00', 0x0) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r0, 0xc018937b, 0x0) 21:00:24 executing program 4: syz_io_uring_setup(0x5683, &(0x7f0000000000), &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ff8000/0x4000)=nil, 0x0, 0x0) clock_gettime(0x0, &(0x7f00000001c0)) pselect6(0x40, &(0x7f0000000100), &(0x7f0000000140)={0x8}, 0x0, 0x0, 0x0) 21:00:24 executing program 1: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0xe, 0x0, 0x0) 21:00:24 executing program 0: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000100), 0x2, 0x0) pwritev(r0, &(0x7f0000000380)=[{&(0x7f0000000240)="52fec618031906fd2986c69d368fa834", 0x10}], 0x1, 0x0, 0x0) 21:00:24 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, 0x0, &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:24 executing program 2: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='bdev\x00', 0x0, 0x0) 21:00:24 executing program 0: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000180)=@sg0, &(0x7f0000000080)='./file0\x00', 0x0, 0x2121005, 0x0) open(&(0x7f0000000240)='./file0\x00', 0x0, 0x0) 21:00:24 executing program 1: r0 = epoll_create1(0x0) r1 = openat$khugepaged_scan(0xffffffffffffff9c, &(0x7f0000000080), 0x1, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000000)={0x20000002}) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000000040)={0x60002002}) 21:00:24 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, 0x0, &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:24 executing program 3: r0 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) pread64(r0, &(0x7f0000000080)=""/199, 0xc7, 0x6) 21:00:24 executing program 4: r0 = openat$apparmor_task_current(0xffffffffffffff9c, &(0x7f0000002880), 0x2, 0x0) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f00000028c0)={0x0, 0x4}) 21:00:24 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, 0x0, &(0x7f0000000100)='qnx6\x00', 0x0, 0x0) 21:00:24 executing program 2: openat$capi20(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) pselect6(0x19, &(0x7f0000000000)={0x400000000000c}, 0x0, 0x0, 0x0, 0x0) 21:00:24 executing program 3: r0 = syz_open_procfs$namespace(0x0, &(0x7f00000013c0)='ns/uts\x00') ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xd0009412, 0x0) 21:00:24 executing program 0: r0 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r0, 0xc0189436, &(0x7f0000000080)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x0, 0xee01}}, './file0\x00'}) 21:00:24 executing program 1: r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', 0x181141, 0x0) fallocate(r0, 0x10, 0x0, 0x8800000) fsconfig$FSCONFIG_SET_PATH(0xffffffffffffffff, 0x3, 0x0, 0x0, 0xffffffffffffff9c) openat$nvram(0xffffffffffffff9c, 0x0, 0x0, 0x0) 21:00:24 executing program 4: read$sequencer(0xffffffffffffffff, 0x0, 0x0) 21:00:24 executing program 0: r0 = openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000300), 0x2, 0x0) pwritev(r0, 0x0, 0x0, 0x0, 0x0) 21:00:24 executing program 1: openat$binderfs_ctrl(0xffffffffffffff9c, &(0x7f0000001f80)='./binderfs2/binder-control\x00', 0x0, 0x0) 21:00:24 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0) 21:00:24 executing program 3: r0 = fsopen(&(0x7f0000000000)='xfs\x00', 0x0) fsconfig$FSCONFIG_SET_PATH_EMPTY(r0, 0x2, &(0x7f0000000080)='3\x00', &(0x7f00000000c0)='./file0\x00', 0xffffffffffffff9c) 21:00:24 executing program 4: openat$sw_sync_info(0xffffffffffffff9c, &(0x7f00000011c0), 0x0, 0x0) 21:00:24 executing program 2: openat$qat_adf_ctl(0xffffffffffffff9c, &(0x7f0000003580), 0x20400, 0x0) 21:00:25 executing program 3: openat$damon_target_ids(0xffffffffffffff9c, &(0x7f0000000800), 0x51f566c7c2c5598f, 0x0) 21:00:25 executing program 1: r0 = fsopen(&(0x7f0000000000)='erofs\x00', 0x0) r1 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) dup3(r1, r0, 0x0) 21:00:25 executing program 0: syz_open_procfs(0x0, &(0x7f0000002100)='fd/3\x00') 21:00:25 executing program 4: r0 = syz_open_procfs(0x0, &(0x7f0000002200)='cgroup\x00') read$FUSE(r0, &(0x7f0000000100)={0x2020}, 0x2020) 21:00:25 executing program 2: r0 = openat$damon_mk_contexts(0xffffffffffffff9c, &(0x7f0000000080), 0x101, 0x0) write$damon_contexts(r0, &(0x7f00000000c0)=[{' ', './file0'}], 0x1) 21:00:25 executing program 3: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f0000002180), 0x2, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r0, 0x5460, 0x0) 21:00:25 executing program 1: r0 = io_uring_setup(0x352e, &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_FILES(r0, 0x6, 0x0, 0x0) 21:00:25 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0) 21:00:25 executing program 2: r0 = syz_io_uring_setup(0x721e, &(0x7f0000000080), &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffc000/0x2000)=nil, &(0x7f0000000100), &(0x7f0000000140)) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x13, &(0x7f0000002480)=[{&(0x7f0000000480)=""/4096, 0x1000}, {0x0}], 0x2) 21:00:25 executing program 0: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x11, 0x0) 21:00:25 executing program 3: r0 = openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000180), 0x20042, 0x0) write$RDMA_USER_CM_CMD_BIND(r0, 0x0, 0x0) 21:00:25 executing program 4: r0 = openat$misdntimer(0xffffffffffffff9c, &(0x7f0000000400), 0x0, 0x0) ioctl$EXT4_IOC_MOVE_EXT(r0, 0x541b, 0x0) 21:00:25 executing program 1: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) writev(r0, &(0x7f0000000300)=[{&(0x7f0000000080)=']', 0x1}], 0x1) 21:00:25 executing program 2: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) fcntl$getownex(r0, 0x4, 0x0) 21:00:25 executing program 0: openat$vcs(0xffffffffffffff9c, &(0x7f00000001c0), 0x4e201, 0x0) 21:00:25 executing program 4: mknodat$null(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x1000, 0x103) r0 = open(&(0x7f0000000080)='./file0\x00', 0x1, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) write$RDMA_USER_CM_CMD_ACCEPT(r0, &(0x7f0000000400)={0x8, 0x120, 0xfa00, {0x0, {0x0, 0x0, "f2270a4047724cfd819f909ace28162ef5ad1d0e15a6a15f25f69460ffae66e309deadf20d516a1c8b03ef79d00b3b0197affd41639a79a0167927c356f7ba83f79b3f1866065dc7e1a404b1ddf7724bbe8ce01178baf285daacdfab81d609241452fc5090deee85e01e54c97107edc172a44dd2c6b4bcf1a1dfe8a9434769adcb2e1ac8a24ec1f281095288387a672ebd61e01aad4b52ad90129a14f0f94a9eac6a6bcc3cd46d92165034d26f0f4ac413f3fcbb645d6677cef9d3aebcd121a39c799356b31f926157f9c3664a058b00f76bc0e84cc0c449ac5756ff7b122fb4534da07ac6d1e6c508cbc6185da1c2c0ecf7b27300642f3bc158d7f1a6d939ef"}}}, 0x128) utime(&(0x7f00000000c0)='./file0\x00', 0x0) 21:00:25 executing program 1: r0 = io_uring_setup(0x4d4c, &(0x7f0000000080)) io_uring_register$IORING_REGISTER_FILES(r0, 0x6, &(0x7f0000000200)=[0xffffffffffffffff, 0xffffffffffffffff], 0x2) 21:00:25 executing program 3: open(&(0x7f00000000c0)='./file0\x00', 0x200, 0x0) rename(&(0x7f0000000080)='./file0\x00', &(0x7f00000001c0)='./file0\x00') 21:00:25 executing program 5: mknod(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0) 21:00:25 executing program 2: syz_emit_ethernet(0x2a, &(0x7f00000002c0)={@local, @local, @val, {@ipv4}}, 0x0) 21:00:25 executing program 0: shmget$private(0x0, 0x3000, 0x308, &(0x7f0000ffb000/0x3000)=nil) 21:00:25 executing program 1: r0 = socket(0x1c, 0x1, 0x0) sendto(r0, 0x0, 0x0, 0x0, &(0x7f0000000080)=@in6={0x1c, 0x1c}, 0x1c) shutdown(r0, 0x1) 21:00:25 executing program 3: openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f00000049c0), 0x10100, 0x0) 21:00:25 executing program 4: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) read$FUSE(r0, &(0x7f0000000100)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_ATTR(r0, &(0x7f0000004180)={0x78, 0x0, r1, {0x7, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}}}, 0x78) 21:00:25 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt(r0, 0x0, 0x4, &(0x7f0000000040)="bfd5949b", 0x4) 21:00:25 executing program 0: syz_emit_ethernet(0x141, &(0x7f0000000080)=ANY=[@ANYBLOB="ffffffffffff00000000000086dd64386c0b010b41ffb134a725f96feff2ddfb49c7fa53115400000000000000000000000000000001"], 0x0) 21:00:25 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) setsockopt$inet6_IPV6_PKTINFO(r0, 0x29, 0x2e, &(0x7f0000000180)={@local={0xfe, 0x80, '\x00', 0x0}}, 0x14) 21:00:25 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt(r0, 0x0, 0x43, &(0x7f0000000000)="bfd594b5", 0x4) 21:00:25 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) r3 = dup2(r0, r2) r4 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r4, &(0x7f0000000000)={0x1c, 0x1c, 0x1}, 0x1c) r5 = dup(r4) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r5, 0x84, 0x105, &(0x7f0000000700)={0x1, [0x0]}, &(0x7f0000000200)=0x8) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r3, 0x84, 0x108, &(0x7f00000000c0)={r6}, &(0x7f0000000140)=0x18) 21:00:25 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) setsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(r1, 0x84, 0x900, &(0x7f0000000080), 0x8) 21:00:25 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(r0, 0x84, 0x21, 0x0, 0x0) 21:00:25 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000600)={&(0x7f0000000040)=@in6={0x1c, 0x1c, 0x1}, 0x1c, 0x0, 0x0, &(0x7f00000004c0)=[@dstaddrv6={0x1c, 0x84, 0xa, @local={0xfe, 0x80, '\x00', 0x0}}, @sndinfo={0x1c}, @prinfo={0x14}, @sndrcv={0x2c}], 0x78}, 0x0) 21:00:25 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) r1 = dup(r0) sendto$inet(r1, 0x0, 0x0, 0x0, &(0x7f00000000c0)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(r0, 0x84, 0x21, &(0x7f0000000040), 0x10) 21:00:25 executing program 4: syz_emit_ethernet(0xfff, &(0x7f00000000c0)={@local, @broadcast, @val, {@ipv6}}, 0x0) 21:00:25 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x23, &(0x7f0000000080), 0x90) 21:00:25 executing program 1: openat$ptmx(0xffffff9c, &(0x7f0000000080), 0x20001, 0x0) 21:00:25 executing program 3: open$dir(0x0, 0x600480, 0x0) 21:00:25 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) close(r0) 21:00:25 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000440)=[@sndinfo={0x1c, 0x84, 0x4, {0x0, 0x900}}], 0x1c}, 0x0) 21:00:25 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000200)=@in6={0x1c, 0x1c, 0x2}, 0x1c) connect$inet6(r0, &(0x7f00000000c0)={0x1c, 0x1c, 0x2}, 0x1c) sendto$inet6(r0, &(0x7f0000000780)="b1", 0x1, 0x0, 0x0, 0x0) 21:00:25 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f00000000c0)={0x1c, 0x1c}, 0x1c) 21:00:25 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r0, &(0x7f0000000000)={0x1c, 0x1c, 0x1}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0x7a, 0x1c, 0x1}, 0x1c) 21:00:25 executing program 1: r0 = socket$inet6_udp(0x1c, 0x2, 0x0) bind(r0, &(0x7f0000000200)=@un=@abs={0x8}, 0x8) 21:00:26 executing program 3: syz_emit_ethernet(0x2a, &(0x7f0000000080)={@local, @empty, @val, {@ipv4}}, 0x0) 21:00:26 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000240)={&(0x7f0000000100)=@in6={0x1c, 0x1c, 0x1}, 0x1c, 0x0}, 0x0) sendmsg$inet_sctp(r0, &(0x7f0000000540)={&(0x7f0000000280)=@in6={0x1c, 0x1c, 0x2}, 0x1c, &(0x7f0000000380)=[{&(0x7f00000002c0)="e6", 0x1}], 0x1, &(0x7f0000000440)=[@sndrcv={0x2c}], 0x2c}, 0x0) 21:00:26 executing program 4: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt(r0, 0x0, 0x48, 0x0, 0x0) 21:00:26 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000001580)={&(0x7f0000000000)=@in6={0x1c, 0x1c, 0x3}, 0x1c, 0x0}, 0x0) 21:00:26 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000300)={&(0x7f0000000000)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000000380)=[@init={0x14}, @dstaddrv4={0x10, 0x84, 0x9}, @dstaddrv6={0x1c, 0x84, 0xa, @rand_addr=' \x01\x00'}, @prinfo={0x14}], 0x54}, 0x0) 21:00:26 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000240)={&(0x7f0000000100)=@in6={0x1c, 0x1c, 0x1}, 0x1c, 0x0}, 0x0) 21:00:26 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r0, &(0x7f0000000200)={0x10, 0x2}, 0x10) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000240)=[{&(0x7f0000000900)="38eb127b7893e97fe31e1e714ff412948ec55a10c9d5b06034a850856e1bb323c29aba30e3481b0bef1e6b0883bf508b6eb64a3235019c4b7365d73dd575149489f539a6fb1cd3ea3346c6e57f18705a05a0e8ac0087aab3d291e2187a1f8d5e9774293947efbfd6bcc5b5c695e62393ac0f4d992c78539c57fa20d2b9173ab98d60a520a2f3d73fc9f06895c7a33eaba914f207dc587a25049ec755a503263c6bfb8c67321656a5fed216f02e238f441d19959a8c194ac21ca3def760fa4936f2a0e38416b4f62f34ed0f41abeda3e29205c747c3078cd6384270940a2104ed8d5ddd3f41b2933fd45612046df1c91714dfc423aea66e216dec710fccb967248e6438999096d18d2ed814f968ebbfa7015f0185c53944cb7c8cad3b7be428d280d9309620fb289b85a209ab63947ed3cf006ec63e6465542e216afdf0ae1cd4e41eae29c35b98e89ce79f543eb0119bac0cad4762764632403b843ede3d8a64e49c0a87f72ed80f218481b4c0cb1f2b99911a9758c6c002b03ade10b6587fa51538e11d281a3cd557f197dbdbe412416a8a8ccd9121733b25cfff0ee40cf243328097c4ede1547aab39c8aa38187123e17aa1f7944f1ef0465f6d16b9eed8ed6056d9036cc4b2177bb051185969815b8f6d8b11aae189a7e49dfd34958dfaf0c061bb995349d12bdcde882d76ac9275ce121d80a4d32f51349031e91139206ddb70db86cba6eb8205c1e142514085e00d2b7db65673bfe37262440b6b6357283c3b8cfe505263f67e0230dfce4474cd84567757304f5e2fd2e42b1e4d436d7ec2e8f1c7d8e980dca58eecf2198e87a9ed695d178a7dbdfea00743c32aad874986be8825db4cf529515fadd432f0d219293facd45da88e0cb77209efcf73efe1c554c1fee074d1b0211c4261d007e4ed5c606b171ec565b03a2e2f6d50f0799c36a33187e9640ca682ebb47e265566f7e31b2c974c9894270c8d5143c9c57708980bb4e8e75425dbb6fc2503fcdd8185fcadef067cbf6009119b820c3094230ebc358d2d04812153974d32c5d8d438a405b26998f2cd6ed6caa4332e319de8fe705a7a4f97fa782d234a805f0da17d3e86710b68a015680825e3b9413c9a767780f0b0946b4da3f3d181a3f0f80f46ea2d03825005dd289b39ee973b01d331022b6196b90ac48e3385e4e9990f175b815e860c9f6e460aedc8179db8ac80b3160d2502edae5c0aecd7b401abaee95488a988444d5f1f1771b6fe9a28b95bc252f25ad5cccf854314afc11e6d834d46bee2341b006245c9ffd18b193310eddbc80b0a892e72b6ae0197da826d1d618b25a9e3eb93fd30974ce2062992bcb1b94b93eda324c524a7b6ab8d41120ee8f0119ab3a30cafa757d615940cdc5c7c8396bddeca1820b995b8fba9765ef143d58d9848031e4f78bc4622965b17d1ca176b259c77567a46481a0f934f6c47a2c1ca7812520f9fb5ebbf8d91613a4de58ede946074772c522de4b877fc13abbdf506e50c025a76f4f48891ceb6397df3ff064ce99dd599d709057ac11c0ee79348ff1448e13a8c3916c2c3b7cefad3308437f23a0dd74559c90fafaa59eff83161c0418bdc59606e407c4e1cbf6d0f061290c3358695a0c2169574e7de686d2d2946a96ab1061c2eb415f8dbdf6cb1f0cc09a7d3fcf3e9e2216e8ebd7d32c29796c831692214ab30b54e09da9dad1aa5aa12e43109c6dff35ae8ac8fdb5c828ecae38a40c200cc54315f29b57d1185fecab6655cb18381805878f257f5dde34069dff628f5e9de8669cfe62a16c74e6adf0c31c9cfec835b1f3e31d715826c38c1fb865134c3ee0e6d55a761d61831beab59d52dfb3963c491a2bbb3945d17ce6a8b8c8466f1378c5c3e7f3b832ca8cecbb23c733907db97488cd5c4938e0eb69805b9b58290a308add3aaaef04dabd091b8598e98793505673a0c4416db9b516e0ba8fda2adedae61eff369ec95896fa9e2b1f11f47a7046211fef20cb87c56f1409445858b72c95d4f840c23df3b9e3054a74024bbcbaa623afae274ef830c722a90b3736a3af4d0ea862c762ab375ada4ee3456d170b51d8d030b854c976f2d549b287f68e6f66511e747b894b845e1bd3d600c91860f69e1204722005fcbbcacea815c13c94a8029040b8b05cabe0975ea805768a08c8800a969983428da8f89ef1d5dcd1d1ba801455b69d133268355e82976fae895c519e3e973e50122cf460c7939aae1bb9ba636c88ff0da9a642869579d87aacc4557e7f699756f7e5c64fa3f92897f97dd6a2231db65592521bda2310bfcd6ec22bd66f91a37f06c9b0acbac9d372f20c4f4cc6d7e63c12a2f036b1d75ce001a921a66ef7d97527f758eeeb44b953c9c8cf3dfb42c8aac7c5d3d29321b1f627bced810a01a0b72849d449d897ab1f5e16c25f1c9dc4820084365649d8ab9c403048094df1b6e5b1536ef30ca8eb740b0326baac3789553a900f18921bd1f2afc8cd9f9c5b025c2e18b8b27ee6729c03a2562bcffb3d3f12bd56480e77546f6ebb90fe7823e4d9d61873bde0d94029855da92da4717b2d9d3ed73baf8e33cc17804559021b8ec60fe090e95aa2a424e1af4eecf60faf8e3cbd835a2befcbb2b39348dfe2ca57231437a5b515e407b0e139b2c82febde8df4f8a8d2dca2b15e59ed60f4138b4479d1b20a80ed6f5fa0a4442c91e3d114bf69cc67137c6e501fcc0c27fa760cb95322cb5bb88d20eac5b5c581255e91b25661d31b10227bc262d842862b773433a40448117f2abc2bf27104f788601eec5db043cf7d33502afb65c1c796a07a478998e13eb62064b776826f2f7ea8174a5dd05f7e8e04f1235bca2c1305eb67bf5eb44e994360fad30e8884b10e51ca5ebc3f23633cb4caa32d32275204430ef37e064566517f351af3ac6d53f3c5dacf2c34b06756f35de05b7b6e3de9d6094ae220727889c3961c9332689eb9c48b5713142bb466ea23cb052b8fb1535f26159c4a077c3b7fed1c505ab633899893270303ab864dba8c7e008971445951a33e6c26fd87aaa8a9749318ea01b6bab0ae76e217009d285d0de8fcf5e25b29222126dc6e2d3ea7170c7bc9766f9483651a53096541e122559b879a0b44008ee5e8ba3c2812bf094b13cbe0aef4b9393d89d6061012448fea899ac4acdb572a038de32770f07a3716d31d07b51e8e7e86b65a2c9927e09d8d44c92fa4058e76718c7245393e59d2be54ed14896a1e58b412871498213c7522e0facb7605bb1002717706137d3bc46fda014404867e920790f3f23c9bb03a2ad16b33e476a1e58cc0807fa3a3640fded1fb6ea228da116f6e85822f8b1a95a598bc5bf0082b14c6e7852bdcde335d5cbfdeb771ab814e9c552859a04f7aa2c44c8b0bebb4abbd8d7cfd1b77697716fab6036e329ef8dadcd0db9b0e393738ec758c135e3313c24976ae5772f06b4fcc71ff984be2d85ad8b05de46fc8491e62d9c00f1246526eda883e902f2a67d53a168cc15cc363fc6d73eda2e50aff51caa96db941a318347db76b8800a10fa3ef8b2deee13ecf284ec2f7bf8e847ce897369f193fbf849b37e9d9257851a51178430a8ea0d9542038d7fe55505960d595212d3faaa4d1429c5816cf36075bf89125620fb30e65d9fc5031cac590a09bff6b3fd30b9b26f8e98129e520f2cc24fc10ef61a3631eb93fdaa0dfee21b865233a9c1781a80441c0be22d41b72fc0768b411310d0e69e5638326b89f0992fe0089e1f61985ee90421a6b7dbff1bebfcdc7f8f86fdf7a867cb9a1bd72de6cc5075631619c1c750225bef15e1387fcdd458fa7f4a21807af295c9ada1bd9ea9f1ac19d7f599f41fe70650a55509b38363ac3247632abeee585dd9bea20ecd4f4533aaffe05a625173ac9aadb3a8fa3a8d66db247bb086dd8d2f4997298adc95cb1c88823c14c67e15965af55dcbd2b93f503001588d432e9b59af34e7769840abd0fed05d2b1684a18e30416781f62abe95111dc3453ee0edc625e36d18a8736723bfa0edb1a286957ef77a2bb4fd7c77f0c72f4e18a19adaf43bdb31d11804979bac107dff1d98045a21fda1e47f476ba105f15719000b85447d2baf557e82ef6637f9736c81e6c66ea894a25dade02c801cdf67c8817f621360c9809703bd981290bed6f01c4f7470d395550d6ee3ba6f2b4d38a762dd460ab3120d92e2da265f1dba02000000000000007b84f27474ee9891f1adaedde5398ceaaa4db3dfc82b5df102aee596c6282f91343a803dfba5698d29cfe80f1e81664a90461c8902e6271008acecaa74f715c0c72f3ed85cea150d416a99740a1a74a0f2e25cb9e6db512126bdb331d71e4259278df4ebe2139c139d946bdc5cdf695f91167613d45570a638f4c886bc647ea6ed7d12e76c1a01aeb4d9a42673c5f9f063738387efe0e25a2a46625419788692614b2330890200961d124220258340770337f1d8997e75ff9ca52e2ad106b1718b25140895468633295ac921acc98b55edad676cd7e07e4c981a37101774b2b3d9ac5952d7ae4e36f408dcb04c1e7dd1777193c0176331a368b9eb7fe92837f5c93c53386568732e8b666c29051ad6717614b3d3f0130df9295096b3fe8bf168eac538b0bc47bae3effa574d61614306be1a06d0b25ebb834ef01f0a6a0e9647821013f0e1fd6572318826df403ea4b67d67d82f8576c20aa73589807b5ac0caa9a566c0651823b54be4ac0b8eb0dce568f4dd391f8c137c6effe5de89f68d1c088c510479af7aeb56bed155b505fba831c913dd03f59d3dc27b58b9bdcdbb57bb352cc2d71fe23be76e75fdadc8ad6d09f98cce008798a1c23397e3af56c4a7f8fa61b06eab9c3844da861cf0f7ea1f8934987b2b54e774e5cbe15f9fa444b70aeb2ade5d9e0fcc653ab512045350e385f2b1f0ed83becb3612a1e00b6e1c1eb6f7b8ff621c5588bc69c571c46654e74a48bf439f9c61e79b0c4d3298adae79cf23f5e05498f275c1abcff8c65f5571ffed83d1c24c0691d40b49cbbd34f699142cfec040deacf42ab1ce65141e20a3da64ea3a4fffb7e54004550f4a29c41f3b70da4d1d1d08b3b856136fba07446a185d852eebc3092663307b7233bd42111fe832d8de89193c4b560e035fef401e63241653eaa1bf82984369464dcbc5c3d76fa170c81902dea75cef62d4326dad3a18ef129d284108f99a9f4d1bf021d4fbfee46fe29d9a35352d10f3c318b656be6f0d3505de51d42d0c6042806f9ed79c9c1b05952c029b4d89f254259994a72a8d7219bf3ff83a13c78ece8b8be6b12fa8223ab8311adcde7833c7644be52055a7cf527ed71bf12eeb93967875d8e00c5f51548925d08b41652ef9fc23039c27368fccc0d2e58b8ff9bbe76d79122e1e58405b801182fa99b0bc96ea3a066d0aa8ed1524718114ad1530b78e4c14eae02d9d4fa2c32e434cac2e5a29219b3b34ef4456612b1632034e0912fbac702f30500d4176a6a7f920bb7edcd477c4002b26b9e5379a0c682d6b617912f536c32e7714f7504f14f10bbf23aa84f1824329b09f27e68a24a91331dd6abc95fc1753a0d8552ac1dd8ceca5a62dfef8d58ac9d83703fbf51a08351a0c99ea5035bee30f7387e580caa893ff6116477c17cfa0b07a1ffa326ac417a643af21e0f050dd564f4a39a17be0a888c43c9638f8efaabb7623c250d3dd10765be21e29f2de1ab6573efd1a0f60cbb507848e62946115a5da7ca8709ab55623c5cd9d41db0d875114ed6ad09e4ac6440cc03abe5c9821d049", 0x1000}, {&(0x7f0000003000)="ddb90c3a91c7050758bc64c2a8503279fa3e7d7287f51ee3335f339f713cec04aac95099dfc608d89a6a5e2acf98ef54a1d8ddd247d071501e6f1db422d08d7c377b056a873b11ca10d82d2ae7fac3e38e3619fcd076983299112718b164f7083554f560ce6dd34911bdb403fdbd44ef3edcff26a0987201001475d8cec41834e741bd6718d9eb4009f573fbb1168c1532665f441e6b882a6f98e2f9635d29a50263ebfd46aee10d3fef3f42204239fd101221060818e18f8e2a69cc68ed737aa9747b47d6e02cb80df4ed8f2a58c05d86080a206a1ffbd47fb14d28ec5d1d4fef3d6c2bf788f32c3931fd31aa70a9ab0ce73f4977ea6632e8059afa6bd42c630bb1115413974b20708c40430b0160fa1bbb314002f612ea27ae64341426274e6a29291109ff6af6c33fbe84f3fa62bc0100000092dcea0b75c2a0eef7906ad4e031d299bab449847f3cc85d0fa2e11076d12cc101717618381b811b400b6b45f73b4c4ab35fc2ad1d793ec5685427254c810024bbf88f6e8446acf85a5ee95b21422b08389b44e2313065831a446abf2d08fc3b44ec51af40351b2de1e8b0997e5fd1c1bd3061bfed9d0ff7f0b4ad3d960e220ea7caa06350689fde6906cd5da62443fe71c5addea7e1cb412293ae5007961a2175d4d80243d6cd2593264edb66bc2316ba546f309263c1c0afd2dde8f7833cce413f040bfcdae17750a5a31370248d83f899cb5782c65cea44a475a844b43ad591a9d0430f1b47b767cd5233d72b328d22201f05c84165bc73124137ae36de31959761ff58d8e499019c6bfd72e60ff44b301dc519fd13b5db6161081ea676de59f473a61ca00d128cefe1bec9830cbe880678cfd59ddd296b7385668375add33fd242f60c5019af025458d2ef9c1be0eac3d02ad8e2717c9049b38a34fe1572d9aaec62514ee58853a8c1a13b3372837756b761886e600227a5cb3ed0985ba1375663fbd115b6c15ce8bde2918c6ef07c7a14b220046c9d9caef50b3aa64ae496e3c7aef31cb999053ac89592c4fe32fb6114e2f7b6d27e3b1f3b8041c5004282437edec9755c241dd877e04be381827d234c44fa3b1c01ba89a2b425912b969cda295982eb93c5d7b71f1f1cc0fc10b5be62dd37fdaa7210282ad93ce24c9cac1ef49fb615695219906131741b62d5b989c49a3156098f0aaa4878e4b12f86dfb26206cbb3f77f8908c56cba30fb8975a414e3325de41814ece9fc7afbc40eb49bf0a07d39d2f24f92c1ef8fad86b6d3aac90635cbd50daa6511e8be1e1aadbcd5cf45ec79d1680cfa1d93bc0697cf27222f6c9f1aacf42b34b9387368f473f5ed6eef7c0989a00e93eac37a1de20f01fa03817410da1f15830d096491b02ae80ce998f9cdfcc6fc8509164e65af8380dac5f8de599fd4de70faf69d8f00421f4c11551713e3b367ebb9bae01286bd73e4036c7cd96d4dd9ca150eee6ef2284d1e869cad9a19860887e749d8698f9c5c4ab9d03a4d2db558850826b536e171e48ec1a5b304223d985e0390955ff806f01c4f870277d61924f67858b5b1eaa414be94c07512cd5a34adbeb89c72352820aa0ae5cc279d3c23ffb00a21f4058c3346e823fe7a154be5661fc128ac88e62ed3a0b9e1e3f5450490ca70266dde1c4e34a922de1a64d6aa166284cecd1366ded99ae842002fadca6e033c3932e4f0c39bc84c0cac2c38e40df383bc7f267d7a6ebd448d5a33f51393f96e3928f022e244f00fd28ec0dd746e56fda57f719bedb936c17b6a498c0faf103e1563d8882e6c3d1746c3e2f27ca012352910137798d6ae9ac378150a58332a89523cb4be13d6dfd481339ac93596ada79b5d5e6ea361d1a7a01937b534fe9322ef234d258023f8acecf4e733ef211b9bebb369ddd3f970b85b85835d5dd4de445695a27b496ffb18fc5e9cf4f29cd6c43b363367c761028ffb911487e4d662e349c709d10249038dd05fec75f3431ecdca1d05bb4b96231f21a9ec257410405ca374493405227357cf4b350fd665c23f8b884397a512cfda78e8a96f80f28e4736fd", 0x5b2}, {&(0x7f00000005c0)="40cd7f21ab4b7d9c08e42cb005696a24240d1a9238269c2e77e076554b4b8651ba66dc390db9e3f88be61648ee0ef29d5a577ca8e6461eb89679dd2e3e5996aacbdc2ffa0c018fcf7691ec2c191baea8d3fe69642e195d1b7b2c622a2b95466361513c14f009e011b4fefc10814a009b191fca6f38c66b854f266b5acd2b4e9d20f0324172785989628f7c8263d65a33b704304b14a0fabc7aa74587b05ec95884f5b31518a313ac23756a81d44ea3ce78c6cf9b91a71a52c3b460cb6675c27a0cb0c8652a9e8d4a4a1798ce9f4cfe020b8bb3fb44e3212602fb006801fa4e7ccb7978d7f57e9f7b162b861a61b15db50b6053f4d025622ee938088eb058a9914475c5a2ee4d5a3f28a3333c700a5ea083b0f5bfe8ecebeda7e677740f2bae05779b4e47a3966bec0c79870eb587aa0bf224f260551fc3eb36ecc066a1fbb30d1b876adc671e4b17b3e3f54fd36068193f84a2d99873efe48c7ddf8414c3010bdf9dbde950d7eee2ee1f0e5026c72a5420f99eaa070ac3cc0b49d73edc8fbbdea06a6f9aa30df56822c3421e40abe182216f3e3f", 0x194}, {&(0x7f0000002900)="fd53e471ca5aae49bb6534e208012b720ee83a3dd33d8fa4ee00c333fdebd2b9ed01b4813f44cd30c8a16f5755c990f8dbb7c88add20e644d6a06cbc11e9fb14a04353be8c8618429e67044b5e94b21399409be3b6e3ff418d5cd304d8494d3b21f9124c43594f61ab289466193dd95a2fffbfb8c8e46d0468e544dfe68cddd83504d9a023061efcf8154bc19c44048d3027fb6dac960f1527d889be7760bd5cd74c03063e015b28a0f65ba96bd81aad03667b285a96952546a25f8e3c874fea86f2d312d73d943339d6e68215b51141b754d893b6f971175ad5f6ebe4b9b477fcf1c8b5b65629baec93cf7d496854bf0993b178722c09c479c44523fd10df7bb98f1459a6bc2a7d21b7d61ddf83e8bb3d94302d2f4eacb63324b4b24d3071ff9e710166b17289ee057ac8450035985d76dc7ea10fcc0d406772e257ac7b2a1b78573c2a3851aaa5dc3f866e3da206d5ea607fa8526feb37eb7ab303a24554db7f17eb53ffcdb427e0a9526eaf23ba7548ed572507e0aa59205c8b18d87e35c2e5da73158a408f78a9ce021663b4cdaa5857af251ec00f0328a81ab52cc16912a8c260220ada0df08c7d23d545c91a2339105abde9378c413ee9e4699c0832712aab4dc246122c0f0375e1b824e7522c1981fed5a1a7b4261f65f00131be8810ab1c83f2f1d1749d7a84018c32481a06b311e2d196c80a27b7fd141a7de482748a78cb77e4f77b2f30d39271729b31cfadfa028cb32f1eb9faa31bad77133aecec89a8d027ebc954fcbad5127ba5b567b2b48aa47a5d95fe58874f16e9cfad5f2d116d25bb6190c1a033d9581a2787dae3dd81dab8839cc23dabded2b1d82c0428cfd24a0200b9a79c1f5cbc05ceb863c3ba54be908f71a227a3dd505982dca877fc6e976ad51072fa90b3e0e168761079ad64513670846519168a14005ec96deeac153cab3702ad6a2df3794adfd4025343a61606091c9a4d5f81fc1e92043b1c4b5d9d1638983869d34ffea675636270ea6315a6b41694f54754c74401c08830f32222dbc0a3ac3b6b278c46354bb938a78a2f8801e79b76034379ecefa4f153b71721d2f1f0ab1d12a67ff2989185da06a0250d791dc2d28f62cff8c185b8c1810cd9ca4863588fe02631628855f241c41c5ec99903232af2a6b9cc301db2597b6940faa31882912704987f3e8eb6f3de8ae051c4260986e556d768f9a2406af8372797e201bd7a14c8be569a94699859fc0199afb7edcc50d2aaed76cd56d4c52106301a7d771df0e9dd85f2df5284f59d7e64771578e5dce8605b0b84ef67b6d89ca2e11561a49f84c8b60633b3ce6d5468ab976eee281e3196bf9fba54193e97a5e3ba30fd44a0cd301fd9084d297471647dc091b994f5eb287ddb38483ce4ffee55352cc062f75db87c12ac18dfe01841e2eac4cc555621544daf48f37b98ca940a95f274199ad888420712dd02ad7400585f332f94027c43882509bc3028c8e6383a892037b34887b64bed9f39c056ae807f6e82bd7fe257efeb99000ec4b60e303e367da72b7ed801e737d1c33b4cff0905cacf7fa542827c01b2192fbe556ed8cdf356dd1957c9729ac9503b6c84ea57b69cfb6095c13fd1918680f2412923ed6303b3a8a1634d50a2de7f0b5e699b63c618d5ff6c06d3ac33520c64f21b59dff439b5abbe340288e3e668cce89091203ea3530c837236a0e30b5c83a0b85669653e0b0e84da366477027e0f6efc2734555d58a121f027b2fb817f49980bdc398e338b4a48d5cc91f3ecb1f6a036365eda9b45d7ed0c5d16467f9ac4f41cc378e5982ff949cf6b3322b29b3721", 0x512}], 0x4}, 0x0) 21:00:26 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt(r0, 0x0, 0x3, 0x0, &(0x7f0000000000)) 21:00:26 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000240)={&(0x7f0000000100)=@in6={0x1c, 0x1c, 0x1}, 0x1c, 0x0}, 0x0) sendmsg$inet_sctp(r0, &(0x7f0000000300)={0x0, 0x0, 0x0}, 0x109) 21:00:26 executing program 4: syz_emit_ethernet(0x7e, &(0x7f00000016c0)=ANY=[@ANYBLOB="17b02dbfed65adb317c231f586dd6000000000480000000000000000000000000000ae474926fe"], 0x0) 21:00:26 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt(r0, 0x0, 0x41, &(0x7f0000000040)="bfd594b5", 0x4) 21:00:26 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000540)={&(0x7f0000000100)=@in6={0x1c, 0x1c}, 0x1c, &(0x7f0000000140)=[{&(0x7f00000001c0)='+', 0x1}], 0x1}, 0x0) 21:00:26 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r0, &(0x7f0000000200)={0x10, 0x2}, 0x10) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000240)=[{&(0x7f0000000900)="38eb127b7893e97fe31e1e714ff412948ec55a10c9d5b06034a850856e1bb323c29aba30e3481b0bef1e6b0883bf508b6eb64a3235019c4b7365d73dd575149489f539a6fb1cd3ea3346c6e57f18705a05a0e8ac0087aab3d291e2187a1f8d5e9774293947efbfd6bcc5b5c695e62393ac0f4d992c78539c57fa20d2b9173ab98d60a520a2f3d73fc9f06895c7a33eaba914f207dc587a25049ec755a503263c6bfb8c67321656a5fed216f02e238f441d19959a8c194ac21ca3def760fa4936f2a0e38416b4f62f34ed0f41abeda3e29205c747c3078cd6384270940a2104ed8d5ddd3f41b2933fd45612046df1c91714dfc423aea66e216dec710fccb967248e6438999096d18d2ed814f968ebbfa7015f0185c53944cb7c8cad3b7be428d280d9309620fb289b85a209ab63947ed3cf006ec63e6465542e216afdf0ae1cd4e41eae29c35b98e89ce79f543eb0119bac0cad4762764632403b843ede3d8a64e49c0a87f72ed80f218481b4c0cb1f2b99911a9758c6c002b03ade10b6587fa51538e11d281a3cd557f197dbdbe412416a8a8ccd9121733b25cfff0ee40cf243328097c4ede1547aab39c8aa38187123e17aa1f7944f1ef0465f6d16b9eed8ed6056d9036cc4b2177bb051185969815b8f6d8b11aae189a7e49dfd34958dfaf0c061bb995349d12bdcde882d76ac9275ce121d80a4d32f51349031e91139206ddb70db86cba6eb8205c1e142514085e00d2b7db65673bfe37262440b6b6357283c3b8cfe505263f67e0230dfce4474cd84567757304f5e2fd2e42b1e4d436d7ec2e8f1c7d8e980dca58eecf2198e87a9ed695d178a7dbdfea00743c32aad874986be8825db4cf529515fadd432f0d219293facd45da88e0cb77209efcf73efe1c554c1fee074d1b0211c4261d007e4ed5c606b171ec565b03a2e2f6d50f0799c36a33187e9640ca682ebb47e265566f7e31b2c974c9894270c8d5143c9c57708980bb4e8e75425dbb6fc2503fcdd8185fcadef067cbf6009119b820c3094230ebc358d2d04812153974d32c5d8d438a405b26998f2cd6ed6caa4332e319de8fe705a7a4f97fa782d234a805f0da17d3e86710b68a015680825e3b9413c9a767780f0b0946b4da3f3d181a3f0f80f46ea2d03825005dd289b39ee973b01d331022b6196b90ac48e3385e4e9990f175b815e860c9f6e460aedc8179db8ac80b3160d2502edae5c0aecd7b401abaee95488a988444d5f1f1771b6fe9a28b95bc252f25ad5cccf854314afc11e6d834d46bee2341b006245c9ffd18b193310eddbc80b0a892e72b6ae0197da826d1d618b25a9e3eb93fd30974ce2062992bcb1b94b93eda324c524a7b6ab8d41120ee8f0119ab3a30cafa757d615940cdc5c7c8396bddeca1820b995b8fba9765ef143d58d9848031e4f78bc4622965b17d1ca176b259c77567a46481a0f934f6c47a2c1ca7812520f9fb5ebbf8d91613a4de58ede946074772c522de4b877fc13abbdf506e50c025a76f4f48891ceb6397df3ff064ce99dd599d709057ac11c0ee79348ff1448e13a8c3916c2c3b7cefad3308437f23a0dd74559c90fafaa59eff83161c0418bdc59606e407c4e1cbf6d0f061290c3358695a0c2169574e7de686d2d2946a96ab1061c2eb415f8dbdf6cb1f0cc09a7d3fcf3e9e2216e", 0x4a8}, {0x0}], 0x2}, 0x0) sendto$inet(r0, &(0x7f0000000300)="94", 0x1, 0x0, 0x0, 0x0) 21:00:26 executing program 2: syz_emit_ethernet(0x46, &(0x7f0000000000)={@random="a9b8b904f020", @empty, @val, {@ipv6}}, 0x0) 21:00:26 executing program 0: openat$ptmx(0xffffff9c, &(0x7f0000000080), 0x500503, 0x0) 21:00:26 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f00000003c0)={0x1c, 0x1c, 0x2}, 0x1c) 21:00:26 executing program 0: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0x40, &(0x7f0000000040)='cdg\x00', 0x4) 21:00:26 executing program 5: r0 = openat$ptmx(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) fchown(r0, 0x0, 0xffffffffffffffff) 21:00:26 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000180)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x1, 0x84) dup2(r0, r1) listen(r1, 0x0) 21:00:26 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) r3 = dup2(r0, r2) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r3, 0x84, 0x108, &(0x7f00000000c0), &(0x7f0000000140)=0x18) 21:00:26 executing program 3: r0 = socket$inet6_tcp(0x1c, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0x40, &(0x7f0000000080)='vegas\x00', 0x6) 21:00:26 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000240)={&(0x7f0000000100)=@in6={0x1c, 0x1c, 0x1}, 0x1c, 0x0}, 0x0) sendmsg$inet_sctp(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000000180)='5', 0x1}], 0x1, &(0x7f0000000200)=[@dstaddrv6={0x1c, 0x84, 0xa, @local={0xfe, 0x80, '\x00', 0x0}}], 0x1c}, 0x0) 21:00:26 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000002c0)) r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r0, &(0x7f0000000200)={0x10, 0x2}, 0x10) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000240)=[{&(0x7f0000000900)='8', 0x1}], 0x1}, 0x0) sendto$inet(r0, &(0x7f0000000300)="94", 0x1, 0x0, 0x0, 0x0) 21:00:26 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000540)={&(0x7f0000000100)=@in6={0x1c, 0x1c}, 0x1c, &(0x7f0000000140)=[{&(0x7f00000001c0)='+', 0x1}], 0x1, &(0x7f0000000440)=[@sndrcv={0x2c}], 0x2c}, 0x0) 21:00:26 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r0, &(0x7f00000003c0)={0x1c, 0x1c, 0x2}, 0x1c) 21:00:26 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r1, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x105, &(0x7f00000002c0)=ANY=[@ANYBLOB='\x00', @ANYRES32=0x0], &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0x108, &(0x7f0000000000)={r2}, &(0x7f0000000040)=0x18) 21:00:26 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x1, 0x84) r2 = dup2(r0, r1) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000080)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r2, 0x84, 0x105, &(0x7f0000000100)={0x1, [0x0]}, &(0x7f0000000000)=0x8) 21:00:26 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r0, &(0x7f0000000000), 0x10) 21:00:26 executing program 2: socket$inet6_sctp(0x1c, 0x5, 0x84) r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_INITMSG(r0, 0x84, 0x3, &(0x7f00000000c0)={0x8000}, 0x8) connect$inet(r0, &(0x7f0000000140)={0x10, 0x2}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x20104, 0x0, 0x0) setsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(r0, 0x84, 0x21, &(0x7f0000000040)={0x0, 0x200}, 0x10) socket(0x0, 0x0, 0x0) sendto(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x105, 0x0, 0x0) sendto$inet(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 21:00:26 executing program 0: syz_emit_ethernet(0x46, &(0x7f0000000040)=ANY=[@ANYBLOB="ffffffffff7faaaaaaaaaabb86dd6066a6d900101100fe8000000000000000000000000000bbff02"], 0x0) 21:00:26 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockname(r0, &(0x7f00000012c0), &(0x7f0000000080)=0x80) 21:00:26 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$unix(0x1, 0x1, 0x0) dup2(r0, r1) 21:00:26 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000340)={&(0x7f0000000140)=@in6={0x1c, 0x1c, 0x2}, 0x1c, 0x0, 0x0, &(0x7f0000000200)=[@dstaddrv6={0x1c, 0x84, 0xa, @local={0xfe, 0x80, '\x00', 0x0}}], 0x1c}, 0x0) 21:00:26 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000080)={0x10, 0x2}, 0x10) 21:00:26 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup(r0) getsockopt$inet_sctp_SCTP_AUTH_ACTIVE_KEY(r1, 0x84, 0x15, &(0x7f0000000140), &(0x7f0000000180)=0x8) 21:00:26 executing program 5: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) write$FUSE_ATTR(r0, 0x0, 0x0) 21:00:26 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PRIMARY_ADDR(r0, 0x84, 0x7, &(0x7f0000000240), &(0x7f0000000300)=0x88) 21:00:26 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000580)={&(0x7f0000000000)=@in6={0x1c, 0x1c, 0x2}, 0x1c, 0x0, 0x0, &(0x7f0000000500)=[@sndinfo={0x1c}], 0x1c}, 0x0) 21:00:26 executing program 5: r0 = socket$unix(0x1, 0x2, 0x0) bind$unix(r0, &(0x7f0000000100)=@abs={0x8, 0x1}, 0x8) 21:00:26 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000001380)=[{&(0x7f0000000040)='x', 0x1}], 0x1, &(0x7f0000001400)=[@sndinfo={0x1c}], 0x1c}, 0x0) 21:00:26 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, &(0x7f0000000080)="4d2722eda296748bd3cc5d24e441a961d1ad04ee4ec72f9231d00fe295c8ba2c18916ee82d", 0x25, 0x0, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:26 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet_sctp(0x2, 0x5, 0x84) r2 = dup2(r1, r0) setsockopt$inet_sctp_SCTP_INITMSG(r2, 0x84, 0x3, &(0x7f0000000000)={0x0, 0x0, 0x3}, 0x8) 21:00:26 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, &(0x7f0000000080)="4d2722eda296748bd3cc5d24e441a961d1ad04ee4ec72f9231d00fe295c8ba2c18916ee82d2abe870eaa168890c88ec86065a6d75062d5e59ebe33c699be86b8b8ab083cf287ae720fdb6d20e4f39493920098c6e1bdad30d82259ec7c3364e7be79906ce444e58a1cc628e5f2835c7dbe18b2f8baae5d4778495238d988b7c4530c623bdd1f4db4eb4a7509df2c0be586a732d607a3c5d9d5b50b38140b3355f7d370a6ba53cae27794473ab583c67d5265fb40707c941cb9073a256050e9c0ebff84c416d1e5a8b42e1884e900f0596a8b27ddc6f5b95d7f32659d6398681f26", 0xe1, 0x109, &(0x7f0000000040)={0x10, 0x2}, 0x72) 21:00:27 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PR_SUPPORTED(r0, 0x84, 0x26, &(0x7f0000000040), &(0x7f0000000080)=0x8) 21:00:27 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x23, &(0x7f0000000100), 0x90) 21:00:27 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind$inet6(r0, &(0x7f0000000140)={0x1c, 0x1c, 0x1}, 0x1c) 21:00:27 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x84, 0x19, &(0x7f0000000040), 0x8) 21:00:27 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f00000000c0)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:27 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_INITMSG(r0, 0x84, 0x3, &(0x7f0000000000)={0x8, 0x0, 0x1}, 0x8) 21:00:27 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_STATUS(r0, 0x84, 0x100, &(0x7f0000000080), &(0x7f0000000140)=0xb0) 21:00:27 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r0, &(0x7f0000000200)={0x10, 0x2}, 0x10) r1 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r1, &(0x7f0000000200)={0x10, 0x2}, 0x10) 21:00:27 executing program 4: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendto$inet(r0, 0x0, 0x0, 0x20009, &(0x7f0000000740)={0x10, 0x2}, 0x10) 21:00:27 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f0000000080)={0x1c, 0x1c, 0x3}, 0x1c) r1 = dup(r0) setsockopt$inet_sctp_SCTP_EVENTS(r1, 0x84, 0xc, &(0x7f0000001200)={0x63}, 0xb) recvmsg(r1, &(0x7f0000001680)={0x0, 0x0, 0x0, 0x0, &(0x7f0000003a40)=""/240, 0xf0}, 0x2) 21:00:27 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x1, 0x84) r2 = dup2(r1, r0) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r2, 0x84, 0x23, &(0x7f0000000200), &(0x7f0000000040)=0x90) 21:00:27 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) sendto(r0, 0x0, 0x0, 0x0, &(0x7f0000000040)=@in6={0x1c, 0x1c}, 0x1c) 21:00:27 executing program 0: bind$inet(0xffffffffffffffff, &(0x7f0000000100)={0x10, 0x2}, 0x10) 21:00:27 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = fcntl$dupfd(r0, 0x0, r0) setsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(r1, 0x84, 0x900, &(0x7f0000000000), 0x8) 21:00:27 executing program 4: r0 = socket$inet6_udp(0x1c, 0x2, 0x0) getsockname$inet6(r0, &(0x7f0000000000), &(0x7f0000000040)=0xfffffffffffffdef) 21:00:27 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, &(0x7f0000000100)="4d2722eda296748bd3cc5d24e441a961d1ad04ee4ec72f9231d00fe295c8ba2c18916ee82dae3b51d52abe870eaa168890c88ec86065a6d75062d5e59ebe33c699be86b8b8ab083cf287ae720fdb6d20e4f39493920098c6e1bdad30d82259ec7c0d9423a4773364e7", 0xfd3d, 0x1, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:27 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_mreqsrc(r0, 0x0, 0x46, &(0x7f0000000000)={@multicast2, @broadcast, @remote={0xac, 0x14, 0x0}}, 0xc) 21:00:27 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_AUTH_ACTIVE_KEY(r0, 0x84, 0x15, &(0x7f0000000100), &(0x7f0000000140)=0x8) 21:00:27 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f00000000c0)={0x0, 0x80}, 0x10) 21:00:27 executing program 5: r0 = socket(0x1c, 0x1, 0x0) close(r0) socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f0000000040)={0x0, 0x1}, 0x10) 21:00:27 executing program 3: r0 = socket$inet6_udp(0x1c, 0x2, 0x0) getpeername$inet6(r0, 0x0, &(0x7f0000000a80)) 21:00:27 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_DELAYED_SACK(r0, 0x84, 0xf, &(0x7f0000000000), 0xc) 21:00:27 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000580)={&(0x7f0000000000)=@in6={0x1c, 0x1c, 0x2}, 0x1c, 0x0, 0x0, &(0x7f0000000500)=[@dstaddrv4={0x10, 0x84, 0x9, @multicast1}], 0x10}, 0x0) 21:00:27 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(r1, 0x84, 0x900, &(0x7f0000001680), &(0x7f00000016c0)=0x8) 21:00:27 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000140)={0x0, @in, 0x0, 0x0, 0x0, 0x0, 0x3f}, 0x98) 21:00:27 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f0000000200)={0x1c, 0x1c, 0x2}, 0x1c) shutdown(0xffffffffffffffff, 0x0) connect$inet6(r0, &(0x7f00000001c0)={0x1c, 0x1c}, 0x1c) 21:00:27 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_DELAYED_SACK(r0, 0x84, 0xf, &(0x7f0000000000), 0xc) 21:00:27 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) r3 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r3, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r3, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) setsockopt$inet_sctp_SCTP_ASSOCINFO(r2, 0x84, 0x2, &(0x7f0000000000)={r4}, 0x14) 21:00:27 executing program 5: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) setsockopt$inet6_IPV6_HOPOPTS(r0, 0x29, 0x31, &(0x7f0000000000), 0x8) 21:00:27 executing program 3: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80, 0x0, 0x0) 21:00:27 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x1, 0x84) dup2(r0, r1) connect$inet6(r1, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x2c) 21:00:27 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(r0, 0x84, 0x900, &(0x7f0000000000), &(0x7f0000000080)=0x8) 21:00:27 executing program 0: r0 = socket(0x1c, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0x40, &(0x7f00000000c0)='vegas\x00', 0x6) 21:00:27 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000040), &(0x7f0000000100)=0x98) 21:00:27 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) sendto$inet6(r0, 0x0, 0x0, 0x105, &(0x7f0000000100)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:27 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000003600)={0x0, 0x0, 0x0, 0x0, &(0x7f00000003c0)=ANY=[], 0x3c}, 0x0) 21:00:27 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) connect$inet6(r2, &(0x7f0000000000)={0x1c, 0x1c, 0x1}, 0x1c) 21:00:27 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=[@sndrcv={0x2c}], 0x2c}, 0x0) 21:00:27 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000000300)={&(0x7f0000000000)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000000280)=[@dstaddrv6={0x1c, 0x84, 0xa, @remote={0xfe, 0x80, '\x00', 0x0}}], 0x1c}, 0x180) 21:00:27 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f00000000c0)={0x0, 0x80, 0x0, 0x8}, 0x10) 21:00:27 executing program 0: r0 = socket(0x1c, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0x40, &(0x7f0000000100)='dctcp\x00', 0x6) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0x40, &(0x7f0000000000)='cubic\x00', 0x4) 21:00:28 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) sendmsg$inet_sctp(r1, &(0x7f0000000880)={&(0x7f00000001c0)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000000800)=ANY=[@ANYBLOB="3c000000840000000a00000075263f7c4c"], 0x58}, 0x0) 21:00:28 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_ASSOCINFO(r0, 0x84, 0x2, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x8}, 0x14) 21:00:28 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) r1 = dup2(r0, r0) setsockopt$inet_sctp_SCTP_EVENTS(r1, 0x84, 0xc, &(0x7f0000000280), 0xb) 21:00:28 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f0000000140), 0x10) 21:00:28 executing program 3: getpeername$inet6(0xffffffffffffffff, 0x0, &(0x7f0000001740)) 21:00:28 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_GET_PEER_ADDR_INFO(r0, 0x84, 0x101, &(0x7f00000000c0), &(0x7f0000000180)=0x98) 21:00:28 executing program 4: socket$inet6_udp(0x1c, 0x2, 0x0) 21:00:28 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000000)=@in6={0x1c, 0x1c, 0x1}, 0x1c) 21:00:28 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, 0x0, 0x0, 0xcc, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:28 executing program 1: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) setsockopt$inet6_IPV6_PKTINFO(r0, 0x29, 0x2e, 0x0, 0x0) connect$inet6(r0, &(0x7f0000000000)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:28 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) socket$inet6_sctp(0x1c, 0x0, 0x84) r1 = socket$inet_sctp(0x2, 0x5, 0x84) sendto(r1, 0x0, 0x0, 0x0, &(0x7f00000001c0)=@in={0x10, 0x2}, 0x10) dup2(r0, r1) 21:00:28 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_PEER_ADDR_INFO(r0, 0x84, 0x101, &(0x7f0000000040), &(0x7f0000000100)=0x98) 21:00:28 executing program 0: pipe2(&(0x7f0000000140), 0x0) 21:00:28 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(r1, 0x84, 0x900, &(0x7f0000001680), &(0x7f00000016c0)=0x8) 21:00:28 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f0000000200)={0x1c, 0x1c, 0x2}, 0x1c) recvfrom$inet6(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 21:00:28 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_AUTH_DEACTIVATE_KEY(r0, 0x84, 0x1d, &(0x7f0000000280)={0x0, 0x6}, 0x8) 21:00:28 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto(r0, 0x0, 0x0, 0x0, &(0x7f00000001c0)=@in={0x10, 0x2}, 0x10) bind$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:28 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendfile(r0, 0xffffffffffffffff, 0x0, 0x0) 21:00:28 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_LOCAL_AUTH_CHUNKS(r1, 0x84, 0x103, &(0x7f0000000000), &(0x7f0000001040)=0x8) 21:00:28 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_int(r0, 0x0, 0x42, &(0x7f0000000000), 0x4) 21:00:28 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f00000001c0)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000001440)={&(0x7f0000000040)=@in={0x10, 0x2}, 0x10, 0x0}, 0x0) 21:00:28 executing program 1: r0 = socket$inet(0x2, 0x5, 0x0) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000000)={0x10, 0x2}, 0x10) 21:00:28 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_MAXSEG(r1, 0x84, 0xe, &(0x7f0000000380), &(0x7f00000003c0)=0x8) 21:00:28 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_DEFAULT_SEND_PARAM(r1, 0x84, 0xb, &(0x7f0000000140), &(0x7f0000000180)=0x20) 21:00:28 executing program 2: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0) 21:00:28 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000000)=@in6={0x1c, 0x1c, 0x2}, 0x1c) connect$inet6(r0, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x1c) sendto$inet6(r0, &(0x7f0000000040)="86", 0x1, 0x0, &(0x7f00000000c0)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:28 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001380)=[{&(0x7f00000000c0)="b2", 0x1}], 0x1, &(0x7f0000001400)=[@init={0x14}], 0x14}, 0x0) 21:00:28 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_AUTH_KEY(r0, 0x84, 0x13, &(0x7f0000000140)={0x0, 0x8, 0x1, '.'}, 0x9) 21:00:28 executing program 2: sendto$inet6(0xffffffffffffff9c, 0x0, 0x0, 0x0, 0x0, 0x0) 21:00:28 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_ASSOCINFO(r0, 0x84, 0x2, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x0, 0xfe00}, 0x14) 21:00:28 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, &(0x7f0000000000)="4d2722ed", 0xfffffffffffffffd, 0x0, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:28 executing program 1: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) setsockopt$inet6_int(r0, 0x29, 0x2f, &(0x7f0000000100), 0x4) 21:00:28 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) sendmsg$unix(r2, &(0x7f0000002ec0)={&(0x7f0000000880)=@abs={0x8}, 0x8, 0x0}, 0x0) 21:00:28 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) sendmsg(r0, &(0x7f00000006c0)={&(0x7f0000000000)=@in6={0x1c, 0x1c, 0x3}, 0x1c, 0x0}, 0x0) connect(r0, &(0x7f00000000c0)=@in6={0x1c, 0x1c}, 0x1c) 21:00:28 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000004c0)={&(0x7f0000000200)=@in6={0x1c, 0x1c, 0x2}, 0x1c, &(0x7f00000002c0)=[{&(0x7f0000000240)='f', 0x1}], 0x1, &(0x7f0000000400)=[@init={0x14}, @authinfo={0x10}, @prinfo={0x14}, @sndrcv={0x2c}, @authinfo={0x10}, @sndinfo={0x1c}, @sndinfo={0x1c}], 0xac}, 0x0) 21:00:28 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) dup2(r0, r1) bind(r1, &(0x7f0000000100)=@in={0x10, 0x2}, 0x10) 21:00:28 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f00000004c0)={&(0x7f0000000200)=@in6={0x1c, 0x1c, 0x2}, 0x1c, 0x0, 0x0, &(0x7f0000000400)=[@init={0x14}, @prinfo={0x14}], 0x28}, 0x0) 21:00:28 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_MAXSEG(r0, 0x84, 0xe, &(0x7f0000000000), 0x8) 21:00:28 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000000740)={&(0x7f0000000240)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f00000007c0)=ANY=[], 0x34}, 0x108) 21:00:28 executing program 3: recvfrom$inet6(0xffffffffffffffff, &(0x7f0000001100)=""/47, 0x2f, 0x0, &(0x7f0000001140)={0x1c, 0x1c, 0x3}, 0xffffffffffffff93) 21:00:28 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f00000000c0)=ANY=[], &(0x7f0000000100)=0x8) 21:00:28 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000003600)={&(0x7f0000000080)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f00000003c0)=ANY=[@ANYBLOB="10"], 0x3c}, 0x0) 21:00:28 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_AUTH_KEY(r0, 0x84, 0x13, &(0x7f0000000140), 0x8) 21:00:28 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto$inet(r0, 0x0, 0x0, 0x100, &(0x7f0000000000)={0x10, 0x2}, 0x10) 21:00:29 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0x108, &(0x7f0000000040)={r1, 0x0, 0x2}, &(0x7f0000000080)=0x18) 21:00:29 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_int(r0, 0x0, 0x42, &(0x7f0000000000)=0x6729, 0x4) 21:00:29 executing program 0: syz_emit_ethernet(0x22, &(0x7f0000000000)={@local, @broadcast, @val, {@ipv4}}, 0x0) 21:00:29 executing program 5: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) getsockopt$inet6_buf(r0, 0x29, 0x1c, 0x0, 0x0) 21:00:29 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_PR_STREAM_STATUS(r1, 0x84, 0x107, &(0x7f00000000c0), &(0x7f0000000100)=0x18) 21:00:29 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) sendmsg(r0, &(0x7f0000000440)={&(0x7f0000000040)=@in6={0x1c, 0x1c, 0x3}, 0x1c, &(0x7f0000000080)=[{&(0x7f0000000100)='\t', 0x1}], 0x1, &(0x7f0000000280)=[{0x10}, {0x10}], 0x20}, 0x0) 21:00:29 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000100)={0x0, @in, 0x0, 0xffffffff, 0x10}, 0x98) 21:00:29 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001380)=[{&(0x7f00000000c0)="b2", 0x1}], 0x1, &(0x7f0000001400)=[@init={0x14}, @prinfo={0x14}], 0x28}, 0x0) 21:00:29 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f00000002c0)=ANY=[], &(0x7f0000001700)=0x8) r1 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0x108, &(0x7f0000000100)={r2, 0x0, 0x16}, &(0x7f00000000c0)=0x18) 21:00:29 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0x22, &(0x7f0000000080), &(0x7f00000001c0)=0xc) 21:00:29 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000100), 0x98) 21:00:29 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_int(r0, 0x0, 0x19, 0x0, &(0x7f00000000c0)) 21:00:29 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f00000014c0)={&(0x7f0000000080)=@in6={0x1c, 0x1c}, 0x1c, 0x0, 0x0, &(0x7f0000001400)=[@init={0x14}, @prinfo={0x14}], 0x28}, 0x0) 21:00:29 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r2, 0x84, 0x22, &(0x7f0000000100), &(0x7f0000000140)=0xc) 21:00:29 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r0, &(0x7f0000000200)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r1, r1) bind(r2, &(0x7f0000000000)=@in6={0x1c, 0x1c, 0x1}, 0x1c) 21:00:29 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0x108, &(0x7f0000000040)={r1, 0x0, 0x3}, &(0x7f0000000080)=0x18) 21:00:29 executing program 4: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, &(0x7f0000000140)="4d2722eda296748bd3cc5d24e441a961d1ad04ee4ec72f92ff87ae8bf26c1fe8f631d00fe295c8ba2c18916ee82d2abe870e04aafde02c01b0fe65a6d75062d5e59ebe33c699be86b8b8ab083cf287ae720fdb6d20e4f39493920098c6e1bdad30d82259ec7c3364e7be79906c17112ce553f6499dd85b6bcb03c26916faa48c7b46e507f6", 0x85, 0x0, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:29 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) bind(r0, &(0x7f0000000000)=@in6={0x1c, 0x1c, 0x3}, 0x1c) 21:00:29 executing program 0: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) setsockopt$inet6_int(r0, 0x29, 0x26, 0x0, 0x0) 21:00:29 executing program 3: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000740)={0x10, 0x2}, 0x10) 21:00:29 executing program 4: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$inet_mreqn(r0, 0x0, 0x9, 0x0, &(0x7f0000000100)) 21:00:29 executing program 2: r0 = socket$inet6_tcp(0x1c, 0x1, 0x0) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f00000002c0)={0x1c, 0x1c, 0x1}, 0x1c) 21:00:29 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) setsockopt$inet_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(r1, 0x84, 0xd, &(0x7f0000000000)=0x7, 0x4) 21:00:29 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x28, &(0x7f00000001c0)=ANY=[@ANYBLOB='\b'], &(0x7f00000002c0)=0x8) 21:00:29 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r0, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x1c) 21:00:29 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0x22, &(0x7f0000000100), 0xc) 21:00:29 executing program 4: msgsnd(0x0, &(0x7f0000000200), 0x8, 0x0) 21:00:29 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000000300)={&(0x7f0000000000)=@in={0x10, 0x2}, 0x10, &(0x7f0000001380)=[{&(0x7f0000000040)='x', 0x1}], 0x1, &(0x7f0000001400)=[@sndinfo={0x1c}], 0x1c}, 0x0) 21:00:29 executing program 3: r0 = socket$inet6_tcp(0x1c, 0x1, 0x0) connect$inet6(r0, &(0x7f0000000000)={0x1c, 0x1c, 0x1}, 0x1c) 21:00:29 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_STATUS(r0, 0x84, 0x100, &(0x7f0000000300), &(0x7f0000000040)=0xb0) 21:00:29 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_ASSOCINFO(r0, 0x84, 0x2, &(0x7f0000000040), 0x14) 21:00:29 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x1, 0x84) r2 = dup2(r0, r1) connect$unix(r2, &(0x7f0000000140)=@abs={0x8}, 0x8) 21:00:29 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet(0x2, 0x5, 0x0) r2 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r2, &(0x7f0000000080)={0x1c, 0x1c, 0x3}, 0x1c) r3 = dup2(r2, r1) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r3, 0x84, 0x105, &(0x7f0000000040)={0x1, [0x0]}, &(0x7f00000002c0)=0x8) getsockopt$inet_sctp_SCTP_STATUS(r0, 0x84, 0x100, &(0x7f0000000080)={r4}, &(0x7f0000000140)=0xb0) 21:00:29 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) r1 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r1, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) setsockopt$inet_sctp_SCTP_RESET_ASSOC(r0, 0x84, 0x902, &(0x7f00000000c0)=r2, 0x4) 21:00:29 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000001700)={&(0x7f0000000040)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000001640)=[@dstaddrv6={0x1c, 0x84, 0xa, @remote={0xfe, 0x80, '\x00', 0x0}}, @dstaddrv6={0x1c, 0x84, 0xa, @rand_addr=' \x01\x00'}], 0x38}, 0x0) 21:00:29 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x23, &(0x7f0000000140), 0x90) 21:00:29 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) setsockopt$inet_sctp_SCTP_AUTO_ASCONF(r2, 0x84, 0x18, &(0x7f00000000c0), 0x4) 21:00:29 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r1, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_STATUS(r0, 0x84, 0x100, &(0x7f0000000040)={r2}, &(0x7f0000000100)=0xb0) 21:00:29 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r1, &(0x7f0000000400)={0x1c, 0x1c}, 0x1c) dup2(r1, r0) listen(r0, 0x0) 21:00:29 executing program 2: accept$unix(0xffffffffffffffff, &(0x7f0000000040)=@abs, &(0x7f0000000080)=0x8) 21:00:29 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) bind$unix(r0, &(0x7f0000000280)=@abs={0x8}, 0x8) 21:00:29 executing program 5: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) setsockopt$inet6_IPV6_PKTINFO(r0, 0x29, 0x2e, &(0x7f0000000080)={@mcast1}, 0x14) 21:00:29 executing program 0: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0) 21:00:29 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) r2 = socket$inet(0x2, 0x5, 0x0) r3 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r3, &(0x7f0000000080)={0x1c, 0x1c, 0x3}, 0x1c) r4 = dup2(r3, r2) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r4, 0x84, 0x105, &(0x7f0000000040)={0x1, [0x0]}, &(0x7f00000002c0)=0x8) getsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(r1, 0x84, 0x21, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x0, r5}, &(0x7f0000000180)=0x10) 21:00:30 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000140), &(0x7f0000000200)=0x98) 21:00:30 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000001700)={&(0x7f0000000040)=@in={0x10, 0x2}, 0x10, 0x0}, 0x0) 21:00:30 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto(r0, 0x0, 0x0, 0x188, &(0x7f00000001c0)=@in={0x10, 0x2}, 0x10) 21:00:30 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000014c0)={&(0x7f0000000080)=@in6={0x1c, 0x1c}, 0x1c, &(0x7f0000001380)=[{&(0x7f00000000c0)="b2", 0x1}], 0x1, &(0x7f0000001400)=[@init={0x14}], 0x14}, 0x0) 21:00:30 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_INITMSG(r0, 0x84, 0x3, &(0x7f0000000000)={0x0, 0x7}, 0x8) 21:00:30 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_PRIMARY_ADDR(r0, 0x84, 0x7, &(0x7f0000000000), 0x88) 21:00:30 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_DELAYED_SACK(r0, 0x84, 0xf, &(0x7f0000000000), 0xc) 21:00:30 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x23, &(0x7f0000000140), &(0x7f0000000200)=0x90) 21:00:30 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_mreqn(r0, 0x0, 0x9, &(0x7f00000000c0)={@multicast1}, 0xc) 21:00:30 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0x108, &(0x7f0000000000)={0x0, 0x0, 0x2}, &(0x7f0000000040)=0x18) 21:00:30 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f00000002c0)=ANY=[@ANYBLOB="b6", @ANYRES32=0x0], &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x29, &(0x7f0000000200)={r1}, &(0x7f0000000240)=0x8) 21:00:30 executing program 2: pipe2(&(0x7f0000000800)={0xffffffffffffffff}, 0x0) getsockname$inet6(r0, 0x0, &(0x7f00000001c0)) 21:00:30 executing program 0: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x22, &(0x7f0000000140)=0x2, 0x4) 21:00:30 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000180)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x1, 0x84) r2 = dup2(r0, r1) getsockopt$inet_sctp_SCTP_GET_PEER_ADDR_INFO(r2, 0x84, 0x101, &(0x7f0000000200), &(0x7f00000002c0)=0x98) 21:00:30 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r0, &(0x7f0000000080)={0x1c, 0x1c, 0x3}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0x1c, 0x1c, 0x2}, 0x1c) 21:00:30 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) getsockopt$inet_sctp_SCTP_RTOINFO(r2, 0x84, 0x1, &(0x7f0000000140), &(0x7f0000000180)=0x10) 21:00:30 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000000)=@in6={0x1c, 0x1c, 0x2}, 0x1c) connect$inet6(r0, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x1c) sendto$inet6(r0, &(0x7f0000000040)='X', 0x1, 0x0, 0x0, 0x0) 21:00:30 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) read(r0, &(0x7f00000005c0)=""/181, 0x85) 21:00:30 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendfile(r0, 0xffffffffffffffff, 0x0, 0x0) 21:00:30 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_ASSOCINFO(r0, 0x84, 0x2, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x122b}, 0x14) 21:00:30 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) setsockopt$inet_sctp_SCTP_HMAC_IDENT(r2, 0x84, 0x14, &(0x7f0000000740), 0x4) 21:00:30 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) r1 = fcntl$dupfd(r0, 0x0, r0) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r1, 0x84, 0x23, &(0x7f00000001c0), &(0x7f0000000280)=0x90) 21:00:30 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_AUTH_ACTIVE_KEY(r0, 0x84, 0x15, &(0x7f00000000c0), &(0x7f0000000140)=0x8) 21:00:30 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r0, &(0x7f0000000200)={0x10, 0x2}, 0x10) 21:00:30 executing program 4: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) getsockopt$inet6_buf(r0, 0x29, 0x23, &(0x7f0000000000)=""/64, &(0x7f0000000040)=0x40) 21:00:30 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, &(0x7f00000011c0)="ce", 0x1, 0x0, &(0x7f00000001c0)={0x10, 0x2}, 0x10) 21:00:30 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f00000022c0)={&(0x7f00000024c0)=@in={0x10, 0x2}, 0x10, 0x0}, 0x0) 21:00:30 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) sendto(r0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=@in6={0x1c, 0x1c, 0x1}, 0x1c) 21:00:30 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r2, 0x84, 0xa, &(0x7f0000000940)={0x0, @in, 0x0, 0x0, 0x5}, 0x98) 21:00:30 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r2, 0x84, 0xa, &(0x7f0000000940)={0x0, @in, 0x20, 0x0, 0x5, 0x0, 0x2}, 0x98) 21:00:30 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_FRAGMENT_INTERLEAVE(r0, 0x84, 0x10, &(0x7f0000000080)=0x1, 0x4) 21:00:30 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) getsockname(r0, 0x0, &(0x7f0000000080)) 21:00:30 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x1, 0x84) r2 = dup2(r0, r1) getsockopt$inet_sctp_SCTP_STATUS(r2, 0x84, 0x100, &(0x7f00000001c0), &(0x7f0000000000)=0xb0) 21:00:30 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f00000001c0)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r2, 0x84, 0x23, &(0x7f0000000200), &(0x7f0000000040)=0x90) 21:00:30 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r0, &(0x7f0000000400)={0x1c, 0x1c, 0x3}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:30 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) recvmsg(r0, &(0x7f0000001880)={0x0, 0x0, 0x0}, 0x80) 21:00:30 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, 0x0, 0x0, 0x8c, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:30 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_ASSOCINFO(r0, 0x84, 0x2, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x8, 0xfe00}, 0x14) 21:00:31 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_RESET_STREAMS(r0, 0x84, 0x901, &(0x7f00000000c0)=ANY=[], 0xa) 21:00:31 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) recvmsg(r0, &(0x7f00000011c0)={0x0, 0x0, 0x0}, 0x40082) 21:00:31 executing program 4: r0 = socket$inet_udplite(0x2, 0x2, 0x88) connect$inet(r0, &(0x7f0000001140)={0x10, 0x2}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 21:00:31 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f00000001c0)={0x1c, 0x1c}, 0x1c) 21:00:31 executing program 0: r0 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(r0, &(0x7f0000000080), 0x4, 0x201, &(0x7f0000000000)={0xfffffe8d, 0x2}, 0x59) 21:00:31 executing program 3: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0) 21:00:31 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_PR_SUPPORTED(r0, 0x84, 0x26, &(0x7f00000000c0), 0x8) 21:00:31 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000000)=@in6={0x1c, 0x1c, 0x2}, 0x1c) 21:00:31 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto(r0, 0x0, 0x0, 0x0, &(0x7f00000001c0)=@in={0x10, 0x2}, 0x10) sendto(r0, 0x0, 0x0, 0x0, &(0x7f00000001c0)=@in={0x10, 0x2}, 0x10) 21:00:31 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000380), 0x98) 21:00:31 executing program 1: open$dir(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) 21:00:31 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_PR_STREAM_STATUS(r0, 0x84, 0x107, &(0x7f0000000140), &(0x7f0000000180)=0x18) 21:00:31 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f0000000040), &(0x7f00000000c0)=0x10) 21:00:31 executing program 4: r0 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(r0, &(0x7f0000000080)='M', 0x1, 0x0, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:31 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) sendmsg(r0, &(0x7f0000000440)={&(0x7f00000000c0)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000000300)=[{0xc}, {0xc}], 0x18}, 0x0) 21:00:31 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_AUTH_KEY(r0, 0x84, 0x13, &(0x7f0000000180)={0x0, 0x5}, 0x8) 21:00:31 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) sendto$inet6(r0, &(0x7f00000000c0)="ef", 0x1, 0x105, &(0x7f0000000100)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:31 executing program 1: r0 = shmget$private(0x0, 0x4000, 0x0, &(0x7f0000ffa000/0x4000)=nil) shmctl$SHM_LOCK(r0, 0xb) 21:00:31 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r1, r0) getsockopt$inet_sctp_SCTP_LOCAL_AUTH_CHUNKS(r2, 0x84, 0x103, &(0x7f0000000480)=ANY=[@ANYRES32], &(0x7f0000000240)=0x7b) 21:00:31 executing program 4: open$dir(&(0x7f0000000280)='\x00', 0x80, 0x0) 21:00:31 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_mreqsrc(r0, 0x0, 0x46, 0x0, 0x0) 21:00:31 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001380)=[{&(0x7f00000000c0)="b2", 0x1}], 0x1, &(0x7f0000001400)=[@prinfo={0x14}], 0x14}, 0x0) 21:00:31 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000100)=@in6={0x1c, 0x1c, 0x2}, 0x1c) 21:00:31 executing program 2: r0 = socket$inet(0x2, 0x5, 0x0) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r1, r0) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(r2, 0x84, 0x102, &(0x7f0000000140), &(0x7f0000000200)=0x8) 21:00:31 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PR_STREAM_STATUS(r0, 0x84, 0x107, &(0x7f0000000140), &(0x7f0000000180)=0x18) 21:00:31 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000300)={&(0x7f0000000000)=@in6={0x1c, 0x1c, 0x1}, 0x1c, 0x0}, 0x0) 21:00:31 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_AUTH_KEY(r0, 0x84, 0x13, &(0x7f0000000140)={0x0, 0x2e79, 0x1, "95"}, 0x9) 21:00:31 executing program 3: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) getsockopt$inet6_int(r0, 0x29, 0x3e, 0x0, &(0x7f00000000c0)) 21:00:31 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000000), 0x98) 21:00:31 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f0000000180), &(0x7f00000001c0)=0x4) 21:00:31 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x1c) 21:00:31 executing program 4: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_MCAST_LEAVE_GROUP(r0, 0x0, 0x51, 0x0, 0x0) 21:00:31 executing program 2: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000740)={0x10, 0x2}, 0x10) 21:00:31 executing program 0: pipe2(&(0x7f0000000800)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) linkat(r0, &(0x7f0000000580)='./file0\x00', 0xffffffffffffffff, 0x0, 0x0) 21:00:31 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_int(r0, 0x0, 0x0, 0x0, 0x0) 21:00:31 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto(r0, 0x0, 0x43, 0x0, &(0x7f00000001c0)=@in={0x10, 0x2}, 0x10) 21:00:31 executing program 2: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) bind$inet6(r0, &(0x7f0000000080)={0x1c, 0x1c, 0x2}, 0x1c) 21:00:31 executing program 3: r0 = socket$inet(0x2, 0x5, 0x0) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r1, r0) sendto$inet6(r2, &(0x7f0000000000)="fb", 0x1, 0x0, &(0x7f00000000c0)={0x1c, 0x1c}, 0x1c) 21:00:31 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_LOCAL_AUTH_CHUNKS(r0, 0x84, 0x103, &(0x7f0000000000)={0x0, 0x2, "dbd7"}, &(0x7f0000000100)=0xa) 21:00:31 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_GET_PEER_ADDR_INFO(r0, 0x84, 0x101, &(0x7f0000000040), &(0x7f0000000100)=0x98) 21:00:31 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000080)={0x0, @in, 0x0, 0x0, 0x81}, 0x98) 21:00:31 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000014c0)={&(0x7f0000000080)=@in6={0x1c, 0x1c}, 0x1c, &(0x7f0000001380)=[{&(0x7f00000000c0)="b2", 0x1}], 0x1, &(0x7f0000001400)=[@prinfo={0x14}], 0x14}, 0x0) 21:00:31 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_ADD_STREAMS(r0, 0x84, 0x903, 0x0, 0x0) 21:00:31 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto$inet(r0, &(0x7f00000000c0)='h', 0x1, 0x0, &(0x7f0000000000)={0x10, 0x2}, 0x10) 21:00:32 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_AUTH_CHUNK(r0, 0x84, 0x12, &(0x7f0000000280), 0x1) 21:00:32 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:32 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_CONTEXT(r0, 0x84, 0x1a, &(0x7f0000000200), 0x8) 21:00:32 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_PRIMARY_ADDR(r0, 0x84, 0x7, &(0x7f0000000240), &(0x7f0000000300)=0x88) 21:00:32 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PR_STREAM_STATUS(r0, 0x84, 0x107, &(0x7f0000000140), &(0x7f0000000180)=0x18) 21:00:32 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet_sctp(0x2, 0x5, 0x84) r2 = dup2(r1, r0) setsockopt$inet_sctp_SCTP_INITMSG(r2, 0x84, 0x3, &(0x7f0000000000)={0x9, 0xffe3, 0x0, 0x9}, 0x8) 21:00:32 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f00000004c0)={&(0x7f0000000000)=@in6={0x1c, 0x1c}, 0x1c, 0x0, 0x0, &(0x7f0000000400)=[@dstaddrv6={0x1c, 0x84, 0xa, @mcast1}, @sndrcv={0x2c}], 0x48}, 0x0) 21:00:32 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) sendto(r0, &(0x7f0000000000)="b6", 0x1, 0x0, &(0x7f0000000040)=@in6={0x1c, 0x1c}, 0x1c) 21:00:32 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f0000000000)={0x1c, 0x1c, 0x1}, 0x15) 21:00:32 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) sendmsg(r0, &(0x7f0000000440)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)=[{0xc}], 0xc}, 0x0) 21:00:32 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x1c) getsockname(r0, 0x0, &(0x7f0000000080)) 21:00:32 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(0xffffffffffffffff, 0x0, 0x0) connect$inet6(r0, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x1c) setsockopt$inet6_int(0xffffffffffffffff, 0x29, 0x14, &(0x7f0000000040), 0x4) 21:00:32 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, &(0x7f0000000180)="99604f22e7a44d0fa716a68a9e2b4959101a71e6453907a22b2a60ec454e7e2eb5644b151fe559d58452a729a45b3f75dbf6028cbdf8249ba1a9d9eaf7ff2112c7d49c80ec6ba33b6f6a598f5af52673ee4c9b43987836af49887c87eccc81af05d57d5564a1cc950542a3666217f6433177e88d56b7446cf317bd0d7eedc7737880aa490f384f227796e0c9966f5d00319fbf9daaed4da2fb87502a119ef7d58268c8b1e24c4262ab2a1cb9f9fc56a33188d7773d58e27e8d5c3749fa4c75c4150a7b8ca0ba9c7ea45de32d0ef430eaade723250bf6ce4e259777dbad75f0efb807be4d06377d86310c601e7ea85c61fcc4ad29ee375527b9c722d754a576f92934ba398c019e7922f4ffac263b8387e71ee22f0eca177beac39c1d797488d257f5f87822050605345b8266323e175670a84704a1e18e7ff412f5d15a7bd1f8aca3878e6c5b556c9393b02199288e1b7bdee512ca4e29971add335f265f7f4353c97e6e59305272b015d61b9ba3c1b8501cda239bff92c29be25efc5596d75e03782cc1a6f187440bfadaa52b1a4f86b5e642872eee3c6b1af457b64cd15e81686e558e2f3c4897349aa7f0c7629926e97641f7029bb378259f5cea7714f8bc10bb4d5747beca65e1a7a10c3df2e4b5a2ae224b9e3e011a1534c91e412069b84932f1fbd13b01a8d461e028b0d0a7746aa75933b10577226bbc066ed26aef848e06c54ad70bf4ffa4ae92ab636054f64b6bc2c60f6ca4e46cced13126f89ba39834e87b0b2746fb9bccf75e56d8f917e12b679dab9c247d25c5fe48afbffe9f72e75daf588d3e88024926749ce530d92370dc7161cf69d348a6b280874dd0277bca01ccb7175ed1aec068d28b70b88f5ec5b0c4a861d37e9d10021c6919d2771d9c32f908f4d51714420b0357950cb3550505e9b9ca8c29ede4e5d1a54c2d175a51672ff2d229acd67484b2ac72454dce04b2ed0665eb9120b12293bd49119efb67cca599cf31b8bbc806bf016d582a33f848a30f8b2abd7d9fb51ffa04655c354df73183ed6179b1f5fe5f8e9f209b5808d09be81fddfc30258bf2c7a7a629dc33593c80f467234d8875006a280e210d667e03a2b98a815bdbf78cf8d8246a01c6f76381abeb494150fce02557e3498abc59f372d9756c9313a7a5d346c7b21fa0796dd42822558a86e47cf10c20fb631f104ce7adb4f85025207a1913de5a0dddaa6872ff488bc74752d8bb0bd5b8455ef90f97ce9248954bdde14614420f84563ed3c9ae6607d92076345b816f431f65a1d3da9774c9290913667f298eb857dd9371450e3620bd9d067ff93468a9f64064317e1c6a438909d4aa112bb699164c720c1e59d89ba7f6ccbd377f0162bad68a67a52b91cc9b1ac55c55d8cc5ba360b9ee9596d035b85745e03a498b1b4378d42620c0597b6d09ac4a31ec208909ad97ffd730b71297d715525560cd90a01d2b5bd7336d8cc3a972ed1463e41edc5abdc6c26c1f6c29fde8347fdc8dc718231196a182c6007d0b6e3d008f0f2c7c7bb72b2e73814acd733c58757abb325a79d42a734c4a8d1191f4b6e7e190af02296ae857dbac59a6e3d083da6e0929c6d0a4b9d517e4b55a987878d157ae6dec2ed90537deca2e148da934b9402c243becf3e96fed2c8ccdd76926f45921e22a7c14f960192076134f7eb04baf03b128334ef540afe17fc66f1e8ecdca5ce374f80d1c49dcee1904f1db5f1bcabb145ec7101a6df1d775acaa1336d60af61ffeedcf935c7a42a60fa61d1df1618c2161a84a73b921c0bd1a9d29ea2d6861e56daaa7c7f8496c30eff1bb58bc7639ee8dbc9b9e64c3c2d7c3ba6ad39c66fec9f76cc3c42a08eb2855c969735a6c8e181724fecc52ec2a9c0bde1de239e538c3140f55958402fc77f67c6bfcdc202a67354c179f4a0c70b16f586503001ca49766b3b5541fda6f971587915fdef5029e15812c0da1e25d08359e70c85cffd90af0be332665c160250556789dcfb4a1382a46214bdeac4a5d41bc327d7a81f34bc4b45ac8129142b712b1545a32155584013bc8fca61511709b33ca98c3290a118fd39cc0f4893ba8c61948da99a382a2426d08a4eadc248464e1d222745dda406a9c9adac9d4f8b09522de6eb8464d15849fc0aa2bd0446cb0230c9c468019e3fef51a8f81f0427d5b211d221e95115825d2dc26e3638df539c39ccd84720f503bffc8b9f73d5f6ace9077a2529dc8b99f81d468f0bcd587421a25be4c26c83178d11393632222e2f450bf582cc4017c3be8367556dd7d6980a2c69ce9fda93415cc4cefd0021e088985abba64cdad45b5910f8d878d6732418774a6c3c314def8d347ee7ac04e87061dd3efa5e9c6f22e0154d5a82cc2de317494792ddfe01eb4e17150bf60f717d17e15a8f836b44dc499dfcd145d1e544807683b3bc3c557ad6c2320d7536eb8536cb7a506cd53d0e1338d72d8d83f95413e92193147116ed01c733f82b50a39110e168c63a082152c5e8609c7f560c588fe48d3c8d9287892999821c34b4757bb2ed3574c4a3142164cea5b3f636f09ed79afebec7a79855033ee2602d27c92e71523b79740876e174c1a36aaceb20b14e1c64eac49bdc7a66f1530e23362e42d60371620d8482adac344ccb424df3d801d3aecc08daa6e26e3af2fbfc20e6d5b3cfb821223ec37f1b06ab1b293d9e1c2f45947216397a4b278563a9573b6bdfbabfbce1352db2b03f6a099dba45d596523000cd5deaddb028397d8d7a5a4b85a9c71719a5847166bcb81bc5c30126670368115c59dcd1a007aeeffa884f534dbda6646303d61dbd8da79c503355ca356c33513a5e0d8438f1559f23439fe45ecbadc62ced37f3bb5f16851eccd134cf6448c910d56ec47ca8626989b0aad7377dc597be81d5d2ab45b953f36d5bce38b86c69681575bc016b30ddfe47a0b35233553488e6f1cbbf358d7d9022657e173ba3898157280f10ab126e30aa37f482ef34f7e95fa5e4166671a4000279f13073afd7e9639bb461ff553c6bcf7a23b5e9e3f5982d1e6d040030993924db84831f8097ff522732836b96a62ee12fda7713a96abe5ea1c372686e147f66afaf9d8216947f5db8454fc168904bbfe8651aa257b2cd1d65ae9c338f9edb6550e245a20385b6e438c5de2b7bb51be7b389bec1bf1e5e372e283ac1007758c0fb637bc4f802a0a441c59ae1fc9f38651bc62c129b3dafd6cd20645e3eb021ff61830b980330942aff1341c264227b1e3e4e4ca0cec84c7c2a3b1e0a9543bf5ba5ef57adf18943eae750b96d87b6d92a58d0f4f422ccd64d4273df4a326e5b8240f4d73b54f858f9fddecd766975a8e0c6069f089469b399788ac5090bbeed86b69074777c61757bd73f1daff88de8b477e5b41da9249c8c87cd2920a5092292b008fb40d892cd4fb5736032e290c660fdfa05d55b0a1c07c908b7450f01430a11e1288388843f5a2b1c3a63bb6c47a594e28590f3889203d055e1741e33e289b3b076fe5113cba7b4481cc7367b8b0c4c36a6155a34b7e5b7b7d0d4d686ee5975dfb90456213487a1694fc024a9ce942cdb2e2b71e947ce5701f504fb9a597e3ab2286c13588b8aa47d48adcbbc3a7c3ae72cc2bf1cd618ac55c009ee29f58c44a541b4c21b12194dca42bcea8fcbfeaee3ad0e12649d2a0894de5109d7ea2ef48e3d38556d1ad3c17b6534d965a1fb769fc0750181d590fda92de3fb88327a15957ad7c1b54f125de5233772956f985dee0e4a0f2af35b5e8274c703ebfb3472b09e2087113a0248992869fea350c356123c50756179bf0b74b8eda082b33bdf1525a96edc513406e9b3d9b33fab8afe94c05d8b61d3d54e3182bc07cb7eb1a6c5663568ecfc3db8425536a079f35cad69aa5ae3e940da04c8584d606fa05690cf5626ad5996ef283b13777af5780e23fce3526f148fe65b23d1bdd494107e43ba5d44bff146f003a6d35da5375a31e35554702ed075e13930a0c84ca7219b6e8099305866011eee7a714bbefa11a915f36700d320524041788b43244340c7621ab8a510b308eeefa386daf0324d05f51090d8660533d7f435c9a3e50b55137e7227c3a595acc4a44f7b921676a670c8523639a01e21695d6bffc87b21e10587b58c0fd34315daac07fffc8ddd16441577a4c0ed5d5e7c8617d35ac85a2591c82d4d9158de6b779dd8fb1263596389326e2dca031265d9cecbf2cf88a0c6621b730c3ccef0edbb045be17b49f08ff6976ae30f5a057973fad1730a4fd31cb365a8ba82edb138f65d64fb4aee36d09e4096a4a120c9516fe7df802278ce0f89ef5c707be6ae6eaaf295879d1a1c49b560c94b50cd51f52755f52ae18187b10df26a43a593ea782a394607e743c7a36dc20495f375104bb8c6cf4f57d2ad438778cef7cd3207a803a99138bffcf2d77d9280362a9e58716fe0d4a8727549b087b82d8ca420f19fd8454cd395601f778ffa9b44e6e08bbe492a744959cc0bf2eb161a16f854c2376f239028ea5837109ff924c39e64607d1e7f8a68f9d4680c0ad242b00a2df8311ff7fb4cbcb07a459c2188925f132e6f5910cbcce6aaa5d3891ebd45ef8f4234c3cef1f36554f849244019cd0b57c24c3c3d8912e5573524f2a7358b6a209417b21d234b61ad909662c5a1f93fe46760446b0652abcd9162afb37630038d820d6859abb943622448fe1eafba0bedca73acec85419f5888cde08ac6feb43db99fbd69bb2bcb6b84e46e77acb5379ed4c48ce281837856e42e443d283b435d1bff63f3ea36ca5d4aab77846c2166d1b1ee03278b4f1d540d712b27efc4f62bd5587506b4324da9cf8b93dd1c9dab84a6e2c908f605103c81aae60093db9d4ce19a9cb39bc00853dda508ee8d2aea18a70278e7bed35d2da8fe72aaa1c9d4516d4f5cb1f665593c116df12b731b260f51d03545c19f21c8058db41e594c47e4bff313989c5dd36d4116abeb44e6e60da0bb822fceba7e87460dc0e9dc19905e6dacf8443d8590c27d893a7a5c0668c77f109dd9e07e03cbd3226e901333420e4fdf0e1d6628b5f5312aa51dd1404325f36bcc244c6b41f4388654711aec88fccb758808ddf09b8fd88f655b6dd658b9b72d9a9edcb57b9e78385a07222fa2f8c7db11f1edcc71af27827edad1d95c0cbe7be743741cbf885cd49ad404d81805406ce098af1869299db2d1e463309248210cae6a21a5c3d56add7e0e20c231860cc11c0f00dd48e7efff7cea968750bd88aa615c02f392a5a7651dd7e65a5ce1c0aaac1a207ec05005169102e0dc682cc2cd20316a68daa2ec99262ea8274c179f2a15722956ff414f85885f53303cd3a3091d97e1f619df502c3cb5f24d3ba8350fdf1258a902a5a7d5f6f5ad7a8e00cb8c1c72bd275a08ce785b8d2a562460f89f089916ad3e8e117f53e7226246707da8ffc9ea4cc36bd8ba395253c0cf955ab73abe27b1c03a3d6cd67e4e26344b4907b3011bc357c0b4db26aad6d7f6ecc1793abdda4e630c34eb0dfbf052040a691c462844899a1301d735f51ad556ee0a16d592fcc77ee3d15ae34a8e00b5d288fd4965ea4e60f1f78e3da8e3277e4be7de766995fd0158b9d9551ab36861065a89b3ad9279342d16242c9515d9e46cbcfc9e4b92dd40ed512ee97a094d2c0edfd3c237593dc2ddc1203", 0xfb5, 0x0, &(0x7f0000001180)={0x10, 0x2}, 0x10) 21:00:32 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SET_PEER_PRIMARY_ADDR(r0, 0x84, 0x6, &(0x7f0000001a00), 0x88) 21:00:32 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_RESET_ASSOC(r0, 0x84, 0x902, &(0x7f0000000000), 0x4) 21:00:32 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(r0, 0x84, 0x21, &(0x7f0000000140), 0xb) 21:00:32 executing program 4: r0 = socket(0x1c, 0x1, 0x0) close(r0) socket$inet6_sctp(0x1c, 0x1, 0x84) setsockopt$inet_sctp_SCTP_CONTEXT(r0, 0x84, 0x1a, 0x0, 0x0) 21:00:32 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto(r0, 0x0, 0x0, 0x0, &(0x7f00000001c0)=@in={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000100)={0x0, @in, 0x0, 0x0, 0x1b}, 0x98) 21:00:32 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet_sctp(0x2, 0x5, 0x84) r2 = dup2(r1, r0) setsockopt$inet_sctp_SCTP_INITMSG(r2, 0x84, 0x3, &(0x7f0000000000)={0x9, 0xffe3, 0x3, 0x9}, 0x8) 21:00:32 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_RESET_STREAMS(r0, 0x84, 0x901, &(0x7f0000000100), &(0x7f0000000140)=0x8) 21:00:32 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000000)=@in6={0x1c, 0x1c, 0x2}, 0x1c) 21:00:32 executing program 0: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) getsockopt$inet6_buf(r0, 0x29, 0x2e, 0x0, &(0x7f0000000140)) 21:00:32 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000740)={&(0x7f0000000240)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f00000007c0)=ANY=[], 0x34}, 0x0) 21:00:32 executing program 2: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) setsockopt$inet6_int(r0, 0x29, 0x17, 0x0, 0x0) 21:00:32 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x29, &(0x7f0000000200), &(0x7f0000000240)=0x8) 21:00:32 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(r1, 0x84, 0x900, &(0x7f0000001680), &(0x7f00000016c0)=0x2) 21:00:32 executing program 4: openat$ptmx(0xffffffffffffff9c, 0x0, 0x1f741cae16224ed7, 0x0) 21:00:32 executing program 0: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) connect$inet6(r0, &(0x7f0000000180)={0x1c, 0x1c}, 0x1c) 21:00:32 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_HMAC_IDENT(r0, 0x84, 0x14, &(0x7f0000000000)=ANY=[@ANYBLOB="80"], 0x8) 21:00:32 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) connect$unix(r2, &(0x7f00000000c0)=@abs={0x8}, 0x8) 21:00:32 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x29, &(0x7f00000000c0), &(0x7f0000000100)=0x8) 21:00:32 executing program 4: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) connect$inet6(r0, &(0x7f0000000000)={0x1c, 0x1c}, 0x1c) 21:00:32 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) dup2(r0, r1) connect$inet6(r1, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x1c) 21:00:32 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000180)=@in={0x10, 0x2}, 0x10) 21:00:32 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000240)={0x0, @in, 0x0, 0x0, 0x100}, 0x98) 21:00:32 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto$inet(r0, &(0x7f0000000100)="4d2722eda296748bd3cc5d41a961d1ad04ee4ec72f9231d00fe295", 0x1b, 0x100, &(0x7f0000000000)={0x10, 0x2}, 0x10) 21:00:32 executing program 3: sendto$inet6(0xffffffffffffff9c, 0x0, 0x0, 0x0, &(0x7f0000000040)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:32 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(r1, 0x84, 0x21, &(0x7f0000000040), &(0x7f0000000180)=0x10) 21:00:32 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000000740)={&(0x7f0000000240)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f00000007c0)=ANY=[@ANYBLOB="100000008400000008"], 0x34}, 0x108) 21:00:32 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) setsockopt$inet_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(r1, 0x84, 0xd, &(0x7f0000000000), 0x4) 21:00:32 executing program 2: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) connect$inet6(r0, &(0x7f0000000040)={0xffffffffffffffe3, 0x1c, 0x2}, 0x1c) 21:00:33 executing program 4: getrusage(0x1, &(0x7f0000000200)) 21:00:33 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0x108, &(0x7f0000000080)={0x0, 0x0, 0x3}, &(0x7f00000000c0)=0x18) 21:00:33 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_STATUS(r0, 0x84, 0x100, &(0x7f0000000300), &(0x7f0000000040)=0xb0) 21:00:33 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_RESET_STREAMS(r0, 0x84, 0x901, &(0x7f00000000c0)=ANY=[@ANYRES32], 0xa) 21:00:33 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_MAXSEG(r0, 0x84, 0xe, &(0x7f0000000000), &(0x7f0000000040)=0x8) setsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(r0, 0x84, 0x900, &(0x7f0000000140), 0x8) 21:00:33 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000100)={0x1c, 0x1c, 0x2}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0x1c, 0x1c}, 0x1c) 21:00:33 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x29, &(0x7f00000001c0), 0x8) 21:00:33 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000001280)={0x0, 0x0, 0x0, 0x0, &(0x7f0000001240)=[@sndinfo={0x1c}], 0x1c}, 0x0) 21:00:33 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_AUTH_KEY(r0, 0x84, 0x13, &(0x7f0000000180)={0x0, 0x0, 0x1, "c5"}, 0x9) 21:00:33 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_DELAYED_SACK(r0, 0x84, 0xf, &(0x7f0000000000), 0xc) 21:00:33 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r2, 0x84, 0x23, &(0x7f0000000200), &(0x7f0000000040)=0x90) 21:00:33 executing program 0: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) getsockname$inet6(r0, 0x0, &(0x7f00000000c0)) 21:00:33 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) setsockopt$inet_sctp_SCTP_ASSOCINFO(r2, 0x84, 0x2, &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x20000000}, 0x14) 21:00:33 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) sendmsg$inet_sctp(r1, &(0x7f0000000880)={&(0x7f00000001c0)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000000800)=ANY=[@ANYBLOB="3c000000840000000a"], 0x58}, 0x0) 21:00:33 executing program 2: syz_emit_ethernet(0x2a, &(0x7f0000000240)={@random="8f94fc4f5713", @broadcast, @val, {@ipv4}}, 0x0) 21:00:33 executing program 1: r0 = socket$inet(0x2, 0x3, 0x0) getsockopt$inet_int(r0, 0x0, 0x5, 0x0, 0x0) 21:00:33 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000000300)={&(0x7f0000000000)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000000280)=[@dstaddrv6={0x1c, 0x84, 0xa, @remote={0xfe, 0x80, '\x00', 0x0}}, @dstaddrv6={0x1c, 0x84, 0xa, @rand_addr=' \x01\x00'}], 0x38}, 0x180) 21:00:33 executing program 3: pipe2(&(0x7f0000000800), 0x0) 21:00:33 executing program 5: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r0, &(0x7f0000000080)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:33 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_RECVNXTINFO(r0, 0x84, 0x20, &(0x7f00000001c0), &(0x7f00000007c0)=0x4) 21:00:33 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x23, &(0x7f0000000200), &(0x7f0000000040)=0x90) 21:00:33 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000003600)={0x0, 0x0, 0x0, 0x0, &(0x7f00000003c0)=ANY=[@ANYBLOB="100000008400000008"], 0x3c}, 0x0) 21:00:33 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_INITMSG(r0, 0x84, 0x3, &(0x7f0000000000)={0x0, 0x0, 0x1}, 0x8) 21:00:33 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r1, r0) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r2, 0x84, 0xa, &(0x7f0000000240)={0x0, @in, 0x0, 0x0, 0x381}, 0x98) 21:00:33 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f00000004c0)={&(0x7f0000000000)=@in6={0x1c, 0x1c}, 0x1c, 0x0, 0x0, &(0x7f0000000400)=[@dstaddrv6={0x1c, 0x84, 0xa, @mcast1}], 0x1c}, 0x0) 21:00:33 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) recvmsg(r0, &(0x7f0000002600)={0x0, 0x0, 0x0}, 0x0) 21:00:33 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x23, &(0x7f0000000140), 0x90) 21:00:33 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto$inet(r0, &(0x7f0000000100)='M', 0x1, 0x0, &(0x7f0000000000)={0x10, 0x2}, 0x10) 21:00:33 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_INITMSG(r0, 0x84, 0x3, &(0x7f0000000000)={0x8, 0x7, 0x1, 0x9}, 0x8) 21:00:33 executing program 2: r0 = socket(0x2, 0x1, 0x0) sendto(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)=@in={0x10, 0x2}, 0x10) 21:00:33 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000040)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) r3 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r3, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r3, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) setsockopt$inet_sctp_SCTP_ASSOCINFO(r2, 0x84, 0x2, &(0x7f0000000000)={r4, 0x0, 0x0, 0xfffe0000}, 0x14) 21:00:33 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendto(r0, 0x0, 0x0, 0x0, &(0x7f00000001c0)=@in={0x10, 0x2}, 0x10) 21:00:33 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) connect$inet6(r0, &(0x7f0000001480)={0x1c, 0x1c, 0x2}, 0x8) 21:00:33 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x84, 0x19, &(0x7f0000000040), &(0x7f00000000c0)=0x8) 21:00:33 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x29, &(0x7f00000000c0), &(0x7f0000000100)=0x8) 21:00:33 executing program 0: r0 = socket$unix(0x1, 0x2, 0x0) bind$unix(r0, &(0x7f0000000000)=@file={0xa}, 0xa) 21:00:33 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r1, r0) setsockopt$inet_sctp_SCTP_PRIMARY_ADDR(r2, 0x84, 0x7, &(0x7f0000000000), 0x88) 21:00:33 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r1, r0) r3 = dup2(r2, r1) setsockopt$inet_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(r3, 0x84, 0xd, &(0x7f0000000000), 0x4) 21:00:33 executing program 5: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0) 21:00:33 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000000740)={0x0, 0x0, 0x0, 0x0, &(0x7f00000007c0)=ANY=[], 0x34}, 0x108) 21:00:33 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000180)={&(0x7f0000000000)=@in={0x10, 0x2}, 0x10, &(0x7f0000000100)=[{&(0x7f0000000040)="ab", 0x1}], 0x1}, 0x0) 21:00:33 executing program 0: syz_emit_ethernet(0x46, &(0x7f00000000c0)={@local, @remote, @val, {@ipv6}}, 0x0) 21:00:33 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x23, &(0x7f00000001c0), 0x90) 21:00:34 executing program 5: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) getsockopt$inet6_buf(r0, 0x29, 0x1c, &(0x7f00000000c0)=""/59, &(0x7f0000000100)=0x3b) 21:00:34 executing program 4: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0x10, 0x2}, 0x10) 21:00:34 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f00000004c0)={&(0x7f0000000000)=@in6={0x1c, 0x1c}, 0x1c, 0x0, 0x0, &(0x7f0000000400)=[@sndrcv={0x2c}], 0x2c}, 0x0) 21:00:34 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_STATUS(r0, 0x84, 0x100, &(0x7f0000000380), &(0x7f0000000440)=0xb0) 21:00:34 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r1, 0x84, 0x108, &(0x7f0000000140), &(0x7f0000000180)=0x18) 21:00:34 executing program 3: symlink(&(0x7f0000000000)='./file0\x00', &(0x7f0000000040)='./file0\x00') unlink(&(0x7f0000000080)='./file0\x00') 21:00:34 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, &(0x7f0000000080)="4d2722eda296748bd3cc5d24e441a961d1ad04ee4ec72f9231d00fe295c8ba2c18916ee82d2abe870eaa168890c88ec86065a6d75062d5e59ebe33c699be86b8b8ab083cf287ae720fdb6d20e4f39493920098c6e1bdad30d82259ec7c3364e7be79906ce444e58a1cc628e5f2835c7dbe18b2f8baae5d4778495238d988b7c4530c623bdd1f4db4eb4a7509df2c0be586a732d607a3c5d9d5b50b38140b3355f7d370a6ba53cae27794473ab583c67d5265fb40707c941cb9073a256050e9c0ebff84c416d1e5a8b42e1884e900f0596a8b27ddc6f5b95d7f32659d6398681f26", 0xe1, 0x0, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:34 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r0, &(0x7f0000000080)={0x1c, 0x1c, 0x3}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f00000017c0)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:34 executing program 2: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendto$inet(r0, &(0x7f0000000680)="3894fc8832e9e31e6a571b8ee180d9558d19e1f24d153886e1c2f22b0c4ac32e5caccbd335c55cbd190bd59969c33c83813d7e4d916ab783d7be7c5e7cd44f7bf6221be74794be2fb1fbc890973b7b396921f7f071", 0x55, 0x20009, &(0x7f0000000740)={0x10, 0x2}, 0x10) 21:00:34 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendto$inet(r0, &(0x7f0000000080)="4d2722eda296748bd3cc5d24e441a961d1ad04ee4ec72f9231d00fe295c8ba2c18916ee82d2abe870eaa168890c88ec86065a6d75062d5e59ebe33c699be86b8b8ab083cf287ae720fdb6d20e4f39493920098c6e1bdad30d82259ec7c3364e7be79906ce444e58a1cc628e5f2835c7dbe18b2f8baae5d4778495238d988b7c4530c623bdd1f4db4eb4a7509df2c0be586a732d607a3c5d9d5b50b38140b3355f7d370a6ba53cae27794473ab583c67d5265fb40707c941cb9073a256050e9c0ebff84c416d1e5a8b42e1884e900f0596a8b27ddc6f5b95d", 0xd8, 0x0, &(0x7f0000000040)={0x10, 0x2}, 0x10) 21:00:34 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_AUTH_KEY(r0, 0x84, 0x13, &(0x7f0000000180), 0x8) 21:00:34 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r0, &(0x7f0000000400)={0x1c, 0x1c, 0x3}, 0x1c) r1 = dup(r0) sendto$inet6(r1, &(0x7f0000000100)="c6", 0x1, 0x0, &(0x7f0000000140)={0x1c, 0x1c, 0x3}, 0x1c) 21:00:34 executing program 1: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) getsockopt$inet6_int(r0, 0x29, 0x9, 0x0, &(0x7f0000000080)) 21:00:34 executing program 3: accept4$inet(0xffffffffffffffff, 0x0, 0x0, 0x8000000) 21:00:34 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f00000001c0)={0x10, 0x2}, 0x10) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r0, r1) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r2, 0x84, 0x23, &(0x7f0000000200), &(0x7f0000000040)=0x90) 21:00:34 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_DELAYED_SACK(r0, 0x84, 0xf, &(0x7f0000000100), &(0x7f0000000140)=0xc) 21:00:34 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) r2 = socket$inet(0x2, 0x5, 0x0) r3 = socket$inet6_sctp(0x1c, 0x5, 0x84) r4 = socket$inet(0x2, 0x5, 0x0) r5 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r5, &(0x7f0000000080)={0x1c, 0x1c, 0x3}, 0x1c) r6 = dup2(r5, r4) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r6, 0x84, 0x105, &(0x7f0000000040)={0x1, [0x0]}, &(0x7f00000002c0)=0x8) r7 = dup2(r3, r2) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r7, 0x84, 0x105, &(0x7f0000000040)={0x1, [0x0]}, &(0x7f00000002c0)=0x8) getsockopt$inet_sctp_SCTP_ASSOCINFO(r1, 0x84, 0x2, &(0x7f0000000000)={r8}, &(0x7f0000000040)=0x14) 21:00:34 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000000)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_PR_SUPPORTED(r0, 0x84, 0x26, &(0x7f0000000180)={r1}, &(0x7f00000001c0)=0x8) 21:00:34 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(r0, 0x0, 0x0, 0x8, 0x0, 0x0) 21:00:34 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_SET_PEER_PRIMARY_ADDR(r0, 0x84, 0x6, &(0x7f0000001a00), 0x88) 21:00:34 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = socket$inet(0x2, 0x5, 0x0) r2 = socket$inet6_sctp(0x1c, 0x5, 0x84) connect$inet6(r2, &(0x7f0000000080)={0x1c, 0x1c, 0x3}, 0x1c) r3 = dup2(r2, r1) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r3, 0x84, 0x105, &(0x7f0000000040)={0x1, [0x0]}, &(0x7f00000002c0)=0x8) getsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x84, 0x19, &(0x7f0000000080), &(0x7f00000000c0)=0x8) 21:00:34 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$inet_buf(r0, 0x0, 0x15, 0x0, 0x0) 21:00:34 executing program 3: r0 = socket(0x1c, 0x1, 0x0) close(r0) r1 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r1, &(0x7f0000000180)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f0000000000)={0x1, [0x0]}, &(0x7f00000000c0)=0x8) getsockopt$inet_sctp_SCTP_CONTEXT(r0, 0x84, 0x1a, &(0x7f0000000100)={r2}, &(0x7f00000001c0)=0x8) 21:00:34 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) sendmsg(r0, &(0x7f00000006c0)={&(0x7f0000000000)=@in6={0x1c, 0x1c, 0x3}, 0x1c, 0x0, 0x0, &(0x7f0000000180)=[{0x10}, {0x10}], 0x20}, 0x0) 21:00:34 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) bind(r0, &(0x7f0000000000)=@in6={0x1c, 0x1c, 0x2}, 0x1c) connect$inet6(r0, &(0x7f0000000200)={0x1c, 0x1c, 0x2}, 0x1c) shutdown(r0, 0x0) 21:00:34 executing program 0: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=[@dstaddrv6={0x1c, 0x84, 0xa, @mcast1}], 0x1c}, 0x0) 21:00:34 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f00000000c0), 0x98) 21:00:34 executing program 1: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) sendmsg$inet_sctp(r1, &(0x7f0000000480)={&(0x7f0000000000)=@in6={0x1c, 0x1c}, 0x1c, 0x0, 0x0, &(0x7f00000003c0)=[@init={0x14}, @dstaddrv6={0x1c, 0x84, 0xa, @mcast2}, @authinfo={0x10}, @authinfo={0x10}, @sndrcv={0x2c}, @authinfo={0x10}, @init={0x14}, @prinfo={0x14}], 0xb4}, 0x0) 21:00:34 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$inet_int(r0, 0x0, 0x41, 0x0, &(0x7f0000000040)=0xa) 21:00:34 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) r1 = fcntl$dupfd(r0, 0x0, r0) setsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(r1, 0x84, 0x11, &(0x7f0000000080), 0x4) 21:00:34 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000001280)={&(0x7f0000000040)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000001240)=[@sndinfo={0x1c}], 0x1c}, 0x0) 21:00:34 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000600)={&(0x7f0000000000)=@in6={0x1c, 0x1c, 0x1}, 0x1c, 0x0, 0x0, &(0x7f0000000580)=[@init={0x14}, @dstaddrv6={0x1c, 0x84, 0xa, @local={0xfe, 0x80, '\x00', 0x0}}], 0x30}, 0x0) 21:00:34 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_ADD_STREAMS(r0, 0x84, 0x903, &(0x7f0000000100), 0x8) 21:00:34 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_mreqn(r0, 0x0, 0xc, &(0x7f0000000040)={@loopback, @remote={0xac, 0x14, 0x0}}, 0xc) 21:00:34 executing program 2: r0 = socket(0x2, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0x40, &(0x7f00000000c0)='cdg\x00', 0x4) 21:00:34 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) sendto(r0, 0x0, 0x0, 0x0, &(0x7f0000000100)=@un=@abs={0x8}, 0x8) 21:00:34 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_CONTEXT(r0, 0x84, 0x1a, &(0x7f0000000040), &(0x7f0000000100)=0x8) 21:00:34 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f00000004c0)={&(0x7f0000000200)=@in6={0x1c, 0x1c, 0x2}, 0x1c, &(0x7f00000002c0)=[{&(0x7f0000000240)='f', 0x1}], 0x1, &(0x7f0000000400)=[@init={0x14}, @prinfo={0x14}], 0x28}, 0x0) 21:00:34 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) bind(r0, &(0x7f00000028c0)=@in6={0x1c, 0x1c, 0x3}, 0x1c) connect$inet6(r0, &(0x7f0000000080)={0xfffffffffffffdd2, 0x1c, 0x3}, 0x1c) 21:00:35 executing program 4: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_ASSOCINFO(r0, 0x84, 0x2, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x8, 0xfe00}, 0x14) 21:00:35 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_ASSOCINFO(r0, 0x84, 0x2, &(0x7f0000000240), &(0x7f0000000280)=0x14) 21:00:35 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) sendmsg$inet_sctp(r0, &(0x7f0000000300)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000200)=[@sndrcv={0x2c}], 0x2c}, 0x20105) 21:00:35 executing program 1: pipe2(0x0, 0x2) 21:00:35 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f00000001c0)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x84, 0x19, &(0x7f0000000000), &(0x7f0000000040)=0x8) 21:00:35 executing program 5: r0 = socket$inet6_tcp(0x1c, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0x40, &(0x7f0000000000)='vegas\x00', 0x6) r1 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) dup2(r1, r0) 21:00:35 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) setsockopt$inet6_int(r0, 0x29, 0x14, &(0x7f0000000040), 0x4) 21:00:35 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0xa, &(0x7f0000000100)={0x0, @in, 0x0, 0x0, 0x10}, 0x98) 21:00:35 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000d80)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_SET_PEER_PRIMARY_ADDR(r0, 0x84, 0x6, &(0x7f0000001a00), 0x88) 21:00:35 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x1, 0x84) setsockopt$inet6_IPV6_PKTINFO(r0, 0x29, 0x2e, &(0x7f00000016c0)={@local={0xfe, 0x80, '\x00', 0x0}}, 0x14) 21:00:35 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_SET_PEER_PRIMARY_ADDR(r0, 0x84, 0x6, &(0x7f0000001a00), 0x88) 21:00:35 executing program 3: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80, &(0x7f0000000100), 0x4) 21:00:35 executing program 1: r0 = socket$inet(0x2, 0x5, 0x0) r1 = socket$inet6_sctp(0x1c, 0x5, 0x84) r2 = dup2(r1, r0) connect$unix(r2, &(0x7f0000000040)=@file={0xa}, 0xa) 21:00:35 executing program 3: r0 = socket(0x1c, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0x40, &(0x7f00000002c0)='dctcp\x00', 0x6) 21:00:35 executing program 5: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000180)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f0000000040)={0x1, [0x0]}, &(0x7f0000000080)=0x8) r1 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x19, &(0x7f0000000000), &(0x7f0000000100)=0x8) 21:00:35 executing program 4: r0 = socket$inet6_icmp_raw(0x1c, 0x3, 0x3a) setsockopt$inet6_int(r0, 0x29, 0x28, 0x0, 0x0) 21:00:35 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) recvfrom(r0, 0x0, 0x0, 0x41, 0x0, 0x0) 21:00:35 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0x108, &(0x7f00000000c0)={0x0, 0x0, 0x3}, &(0x7f0000000100)=0x18) 21:00:35 executing program 5: bpf$BPF_TASK_FD_QUERY(0x14, 0x0, 0x0) bpf$BPF_TASK_FD_QUERY(0x14, 0x0, 0x0) syz_clone(0x61000000, &(0x7f0000000000)="7f5a47750fc5a5312b89a254ee6763aae2e6f5e29ab7ac9400842463c2074dea6acae1d5ce4d906eb6c1d6d8d47776470897d491fb33e4aa736ad40045e815244b5315c66e529be4c1a12afc428390b7e5efcd21b1f9a165418044d4ff40a98519f3c2a9db31a808d3f5d985bfa46893ea038c729d5c1eac203026d969586f2367cd6db02425ad33751094fa9b49b310be9a", 0x92, 0x0, &(0x7f0000000100), 0x0) syz_clone(0x40000000, &(0x7f00000003c0)="09367413678c869578fee4857e23aa3c", 0x10, &(0x7f0000000400), &(0x7f0000000440), &(0x7f0000000480)="d000c6a598b44bf0b62c115f32442265ec10b4df19366cc62e474688437dc9799a6ac39620703d2186be4dd1d7ad6e5b2abbf538425ddeaea50db248eaa9c2c56ef7d5c16fa335dd86d6d7982a138523738c9228f78f7399cf3b5051752fb071b6517c52c5de99df69877971cfb03a0673b223cae11d6c4b17eaf46f942b86d8056a027632baa3d2c9417f91f9a40fa05c8016a11d67beb33cc669f18487e692b59536341fac5658f25e4ebd746e73c4c0aa3bcae54ce702b8f62c5e1d05e401b673b81256802a68c62efb4ee65020296c0edd2f6b5aa071d70022733dd409aa9b") 21:00:35 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind$inet(r0, &(0x7f0000000200)={0x10}, 0x1a) 21:00:35 executing program 4: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000100)={0x55, 0x1c, 0x2}, 0x25) 21:00:35 executing program 0: accept$unix(0xffffffffffffffff, &(0x7f0000000040)=@abs, 0x0) 21:00:35 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) connect$inet(r0, &(0x7f0000000340)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x105, &(0x7f00000002c0)={0x1, [0x0]}, &(0x7f0000001700)=0x8) getsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x29, &(0x7f0000000200)={r1}, &(0x7f0000000240)=0x8) 21:00:35 executing program 3: fchmodat(0xffffffffffffff9c, &(0x7f0000000180)='.\x00', 0x804) 21:00:35 executing program 0: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f0000000000)={0x0, 0x9, [@link_local, @dev, @dev, @empty, @link_local, @link_local, @link_local, @dev, @empty]}) 21:00:35 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) close(r0) 21:00:35 executing program 1: r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup/syz1\x00', 0x200002, 0x0) bpf$BPF_PROG_DETACH(0x9, &(0x7f0000000080)={@cgroup=r0}, 0x10) 21:00:35 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000380)=ANY=[@ANYBLOB="1800000000000000000000000000000095"], &(0x7f00000000c0)='syzkaller\x00', 0x4, 0x91, &(0x7f0000000000)=""/145, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f0000000340)='kfree\x00', r0}, 0x10) r1 = openat$tun(0xffffffffffffff9c, &(0x7f0000000880), 0x0, 0x0) close(r1) 21:00:35 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f00002a0fb8)={0x16, 0x4, &(0x7f0000000000)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x7, 0x5d}, [@call={0x45}]}, &(0x7f0000000140)='GPL\x00', 0x4, 0x99, &(0x7f0000000180)=""/153, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x1e}, 0x64) 21:00:35 executing program 1: r0 = socket$kcm(0x25, 0x1, 0x0) recvmsg$kcm(r0, &(0x7f0000001b40)={0x0, 0x20, 0x0}, 0x0) 21:00:35 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg(r1, &(0x7f0000000700)={0xfffffffffffffffe, 0x0, 0x0, 0x0, 0x0, 0x8}, 0x22) sendmsg$inet(r0, &(0x7f0000000580)={0x0, 0x0, 0x0}, 0x0) 21:00:35 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg(r0, &(0x7f0000000700)={0xfffffffffffffffe, 0x0, 0x0}, 0x0) 21:00:35 executing program 3: socketpair(0xa, 0x2, 0x3, &(0x7f0000003e00)) 21:00:35 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f0000000000)={0x0, 0x1, [@link_local]}) 21:00:35 executing program 1: r0 = socket$kcm(0x25, 0x1, 0x0) recvmsg$kcm(r0, &(0x7f0000001b40)={0x0, 0x20, 0x0}, 0x0) 21:00:35 executing program 4: r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000080)='./cgroup/syz1\x00', 0x200002, 0x0) bpf$BPF_PROG_QUERY(0x10, &(0x7f0000000100)={r0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=[0x0], 0x1}, 0x20) 21:00:35 executing program 4: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f00000000c0)=ANY=[@ANYBLOB="000201"]) 21:00:36 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x11, 0x5, &(0x7f0000000040)=@framed={{}, [@map_fd]}, &(0x7f0000000080)='syzkaller\x00', 0x3, 0xd9, &(0x7f0000000200)=""/217, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:36 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000001c0)={0x1, &(0x7f0000000100)=[{0x5}]}) 21:00:36 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'hsr0\x00', 0x1002}) ioctl$TUNSETSTEERINGEBPF(r0, 0x800454e0, 0x0) 21:00:36 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x801054db, &(0x7f0000001680)=""/209) 21:00:36 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f0000000000)={0x0, 0xa, [@random="dcbd02c30305", @random="fa3b28a47a62", @broadcast, @empty, @multicast, @local, @random="50a948504226", @dev, @link_local, @link_local]}) 21:00:36 executing program 4: socketpair(0x11, 0xa, 0x0, &(0x7f0000001780)) 21:00:36 executing program 4: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f00000000c0)=ANY=[@ANYBLOB="00020103"]) 21:00:36 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f00000001c0)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PRIMARY_ADDR(r0, 0x84, 0x7, &(0x7f0000000200), &(0x7f0000000140)=0x88) 21:00:36 executing program 0: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f0000000080)={0x0, &(0x7f0000000040)}) 21:00:36 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f00000000c0)=ANY=[]) 21:00:36 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETQUEUE(r0, 0x400454d9, &(0x7f0000000000)={'team0\x00', 0x400}) 21:00:36 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f0000000000)={0x0, 0xa, [@random="dcbd02c30305", @random="fa3b28a47a62", @broadcast, @empty, @multicast, @local, @random="50a948504226", @dev, @link_local, @link_local]}) 21:00:36 executing program 3: socketpair(0xa, 0x2, 0x3a, &(0x7f0000003e00)) 21:00:37 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) write$cgroup_pressure(r0, 0x0, 0x0) 21:00:37 executing program 3: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNGETSNDBUF(0xffffffffffffffff, 0x800454d3, 0x0) 21:00:37 executing program 4: socketpair(0xa, 0x2, 0x88, &(0x7f0000003e00)) 21:00:37 executing program 1: socketpair(0x2, 0x3, 0x3, &(0x7f0000003e00)) 21:00:37 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f0000000000)={0x0, 0xa, [@random="dcbd02c30305", @random="fa3b28a47a62", @broadcast, @empty, @multicast, @local, @random="50a948504226", @dev, @link_local, @link_local]}) 21:00:37 executing program 2: socketpair(0x2, 0x5, 0x6, &(0x7f0000003e00)) 21:00:37 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg$unix(r0, &(0x7f00000003c0)={0x0, 0x0, 0x0}, 0x0) recvmsg(r1, &(0x7f0000000700)={0xfffffffffffffffe, 0x0, 0x0}, 0x0) sendmsg$inet(r0, &(0x7f0000000580)={0x0, 0x0, 0x0}, 0x0) 21:00:37 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x400454ce, 0x0) 21:00:37 executing program 4: socketpair(0x2, 0xa, 0x0, &(0x7f0000003e00)) 21:00:37 executing program 3: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'wg1\x00', 0x2}) close(r0) 21:00:37 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000008c0)={0x18, 0x8, &(0x7f0000001ac0)=ANY=[@ANYBLOB="1800000024f3000000000000fd050000850000005f000000180000000004000000000000000200001810"], &(0x7f0000000500)='syzkaller\x00', 0x3, 0xfe, &(0x7f0000000540)=""/254, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:37 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f0000000000)={0x0, 0xa, [@random="dcbd02c30305", @random="fa3b28a47a62", @broadcast, @empty, @multicast, @local, @random="50a948504226", @dev, @link_local, @link_local]}) 21:00:37 executing program 4: socketpair(0xa, 0x3, 0x0, &(0x7f0000003e00)) 21:00:37 executing program 3: bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000340)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x30) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000500)='cgroup.max.descendants\x00', 0x2, 0x0) write$cgroup_int(r1, &(0x7f0000000040), 0x12) 21:00:37 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000001c0)={0x1, &(0x7f0000000100)=[{0x6}]}) 21:00:37 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f0000000080)={0x1, &(0x7f00000000c0)=[{0xffff}]}) 21:00:37 executing program 3: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x800454d2, &(0x7f0000001680)=""/209) 21:00:38 executing program 5: socketpair(0xa, 0x3, 0x3, &(0x7f0000003e00)) 21:00:38 executing program 0: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000001c0)={0x1, &(0x7f0000000100)=[{0x34}]}) 21:00:38 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000001c0)={0x1, &(0x7f0000000100)=[{0x28}]}) 21:00:38 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x8927, &(0x7f0000001680)=""/209) 21:00:38 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000001c0)={0x1, &(0x7f0000000100)=[{0x64}]}) 21:00:38 executing program 3: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000001c0)={0x1, &(0x7f0000000100)=[{0x2, 0x0, 0x0, 0x100}]}) 21:00:38 executing program 4: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x4b47, 0x0) 21:00:38 executing program 4: write$cgroup_subtree(0xffffffffffffffff, 0x0, 0x32600) socketpair$nbd(0x1, 0x1, 0x0, 0x0) bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000340)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x30) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000100)='pids.current\x00', 0x0, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000100)='memory.high\x00', 0x2, 0x0) write$cgroup_int(r1, 0x0, 0x0) 21:00:38 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x8927, &(0x7f0000001680)=""/209) 21:00:38 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f0000000040)=@base={0xb, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x48) 21:00:38 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$TUNGETIFF(r0, 0x800454d2, 0x0) 21:00:38 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'hsr0\x00', 0x1002}) ioctl$TUNSETSTEERINGEBPF(r0, 0x800454e0, &(0x7f0000000240)) 21:00:38 executing program 0: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x801054db, &(0x7f0000001680)=""/209) 21:00:38 executing program 3: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x400454cb, 0x0) 21:00:38 executing program 4: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000001880)={'pimreg1\x00', 0x2}) ioctl$TUNSETVNETHDRSZ(r0, 0x400454d8, &(0x7f0000000100)=0x5cec7034) 21:00:38 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000280)={0x6, 0x1, &(0x7f0000000000)=@raw=[@generic], &(0x7f00000000c0)='GPL\x00', 0x6, 0xcb, &(0x7f0000000100)=""/203, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:38 executing program 2: write$cgroup_pressure(0xffffffffffffffff, &(0x7f0000000000)={'some'}, 0x2f) socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000100)) 21:00:38 executing program 0: bpf$BPF_PROG_DETACH(0x9, &(0x7f0000000580)={@map}, 0x10) 21:00:38 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000003c0)={0x6, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, &(0x7f0000000300), 0x8, 0x10, 0x0}, 0x80) 21:00:38 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x8927, &(0x7f0000001680)=""/209) 21:00:38 executing program 1: openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000640)='./cgroup.net/syz1\x00', 0x200002, 0x0) 21:00:38 executing program 3: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000100)) 21:00:38 executing program 0: bpf$OBJ_GET_PROG(0x7, &(0x7f0000001100)={&(0x7f00000010c0)='./file0\x00'}, 0x10) 21:00:38 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000003c0)={0x6, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000340), 0x10}, 0x80) 21:00:38 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000003c0)={0x6, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000640)='./cgroup.net/syz1\x00', 0x200002, 0x0) 21:00:38 executing program 1: bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000440), 0x10) 21:00:38 executing program 3: openat$tun(0xffffffffffffff9c, 0x0, 0x4673428d7a5d4b3c, 0x0) 21:00:39 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'pimreg1\x00', 0x2}) ioctl$TUNGETFILTER(r0, 0x8927, &(0x7f0000001680)=""/209) 21:00:39 executing program 3: openat$cgroup(0xffffffffffffffff, &(0x7f0000000a80)='syz1\x00', 0x200002, 0x0) 21:00:39 executing program 0: write$cgroup_pressure(0xffffffffffffffff, &(0x7f0000000000)={'some'}, 0x2f) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)) 21:00:39 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000003c0)={0x6, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:39 executing program 2: openat$tun(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) 21:00:39 executing program 1: bpf$ITER_CREATE(0x21, &(0x7f0000000280), 0x8) 21:00:39 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000003c0)={0x6, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000380)=[0x1]}, 0x80) 21:00:39 executing program 3: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000003c0)={0x6, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000380)=[0x1, 0x1]}, 0x80) openat$tun(0xffffffffffffff9c, &(0x7f00000005c0), 0x0, 0x0) 21:00:39 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000003c0)={0x6, 0x0, 0x0, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:39 executing program 1: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg$unix(r1, &(0x7f0000001b40)={0x0, 0x0, 0x0}, 0x0) sendmsg$inet(r0, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x0) 21:00:39 executing program 2: bpf$MAP_CREATE(0x0, &(0x7f0000000400)=@base={0x14}, 0x48) 21:00:39 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) write$cgroup_pid(r0, 0x0, 0x7f00) 21:00:39 executing program 4: unlink(&(0x7f0000000680)='./file0\x00') mkdir(&(0x7f00000006c0)='./file0\x00', 0x0) 21:00:39 executing program 3: openat$tun(0xffffffffffffff9c, &(0x7f0000000200), 0x500, 0x0) 21:00:39 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000003c0)={0x6, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000240)='GPL\x00', 0x9, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:39 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000001c0)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@func_proto={0x0, 0x4, 0x0, 0xd, 0x0, [{}, {}, {}]}]}}, &(0x7f0000000100)=""/173, 0x3e, 0xad, 0x1}, 0x20) 21:00:39 executing program 2: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) recvmsg$unix(r0, &(0x7f00000003c0)={0x0, 0x0, 0x0}, 0x42) 21:00:39 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000400)={0x6, 0x4, &(0x7f0000000000)=@framed={{}, [@jmp]}, &(0x7f0000000040)='syzkaller\x00', 0x7, 0xf3, &(0x7f0000000240)=""/243, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:39 executing program 5: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmsg(r0, &(0x7f0000001bc0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000540)=ANY=[@ANYBLOB="f0000000000000000100000001"], 0x1678}, 0x0) 21:00:39 executing program 3: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000400)={0x6, 0x3, &(0x7f0000000000)=@framed={{0x18, 0x0, 0x3}}, &(0x7f0000000040)='syzkaller\x00', 0x7, 0xf3, &(0x7f0000000240)=""/243, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:39 executing program 4: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000001c0)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@func_proto={0x0, 0x3, 0x0, 0xd, 0x0, [{}, {}, {}]}]}}, &(0x7f0000000100)=""/173, 0x3e, 0xad, 0x1}, 0x20) 21:00:39 executing program 2: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000001c0)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x14, 0x14, 0x2, [@func_proto={0x0, 0x1, 0x0, 0xd, 0x0, [{0xf, 0x1}]}]}}, &(0x7f0000000100)=""/173, 0x2e, 0xad, 0x1}, 0x20) 21:00:39 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000001c0)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x14, 0x14, 0x2, [@func_proto={0x0, 0x1, 0x0, 0xd, 0x0, [{}]}]}}, &(0x7f0000000100)=""/173, 0xfec3, 0xad, 0x1}, 0x20) 21:00:39 executing program 1: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000380)=@base={0x16, 0x0, 0x2, 0x6}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000480)={0x11, 0x7, &(0x7f0000000000)=@framed={{}, [@map_fd={0x18, 0x0, 0x1, 0x0, r0}, @map_fd={0x18, 0x0, 0x1, 0x0, r0}]}, &(0x7f0000000180)='syzkaller\x00', 0x5, 0xb6, &(0x7f0000000280)=""/182, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:39 executing program 3: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000080)={&(0x7f0000000240)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x7, [@typedef={0x6}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0]}}, &(0x7f0000000300)=""/168, 0x2b, 0xa8, 0x1}, 0x20) 21:00:39 executing program 5: bpf$MAP_CREATE(0x0, &(0x7f0000000240)=@base={0x9, 0xe7, 0x3, 0x81}, 0x48) 21:00:39 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000400)={0x4, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000040)='syzkaller\x00', 0x7, 0xf3, &(0x7f0000000240)=""/243, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:39 executing program 2: bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0x2, 0x4, 0x2, 0xfffff534, 0xc}, 0x48) 21:00:39 executing program 0: openat$cgroup_ro(0xffffffffffffffff, 0x0, 0x0, 0x0) write$cgroup_pid(0xffffffffffffffff, 0x0, 0x0) syz_open_procfs$namespace(0x0, 0x0) syz_open_procfs$namespace(0x0, &(0x7f0000000340)='ns/time_for_children\x00') 21:00:39 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000480)={0x11, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000180)='syzkaller\x00', 0x5, 0xb6, &(0x7f0000000280)=""/182, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:39 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) write$cgroup_pid(r0, 0x0, 0x0) 21:00:39 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f0000000400)=@base={0x14, 0x0, 0x4}, 0x48) 21:00:39 executing program 4: bpf$MAP_CREATE(0x0, &(0x7f0000000400)=@base={0x5}, 0x48) 21:00:39 executing program 0: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg(r0, &(0x7f0000000240)={0x0, 0x0, 0x0}, 0x12100) close(r1) 21:00:39 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg(r0, &(0x7f00000000c0)={0x0, 0x0, 0x0}, 0x0) write$cgroup_pid(r0, 0x0, 0x7) 21:00:39 executing program 3: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) recvmsg(r0, &(0x7f0000000240)={0x0, 0x0, 0x0}, 0x0) close(r1) 21:00:39 executing program 1: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmsg(r0, &(0x7f0000001bc0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000540)=ANY=[@ANYBLOB="f0000000000000000100000001000000c1"], 0x1678}, 0x0) 21:00:39 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) write$cgroup_pid(r0, &(0x7f0000000140), 0x12) 21:00:39 executing program 5: bpf$MAP_CREATE(0x0, &(0x7f0000000400)=@base={0x1, 0x0, 0x0, 0x0, 0x2}, 0x48) 21:00:39 executing program 4: openat$tun(0xffffffffffffff9c, &(0x7f0000000040), 0x51df01, 0x0) 21:00:39 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000400)=@base={0x1b, 0x0, 0x0, 0x3}, 0x48) 21:00:39 executing program 3: socketpair(0x2, 0x1, 0x2, &(0x7f0000000000)) 21:00:39 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0x2, 0x0, 0x0, 0xfffff534}, 0x48) 21:00:39 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000001c0)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@func_proto={0x0, 0x3, 0x0, 0xd, 0x0, [{0xf}, {}, {}]}]}}, &(0x7f0000000100)=""/173, 0x3e, 0xad, 0x1}, 0x20) 21:00:39 executing program 5: bpf$MAP_CREATE(0x0, &(0x7f0000000400)=@base={0x10, 0x0, 0x0, 0x10000}, 0x48) 21:00:39 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) write$cgroup_pid(r0, 0x0, 0x0) 21:00:40 executing program 2: r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000001880)='./cgroup.net/syz0\x00', 0x200002, 0x0) r1 = openat$cgroup_freezer_state(r0, &(0x7f00000018c0), 0x2, 0x0) close(r1) 21:00:40 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0x2, 0x4, 0x2, 0xfffff534}, 0x48) 21:00:40 executing program 0: bpf$MAP_CREATE(0x0, &(0x7f0000000400)=@base={0x6}, 0x48) 21:00:40 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000400)={0x6, 0x3, &(0x7f0000000000)=@framed={{0x18, 0xb}}, &(0x7f0000000040)='syzkaller\x00', 0x7, 0xf3, &(0x7f0000000240)=""/243, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:40 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x0, 0x2d, 0x0, &(0x7f0000000080)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:40 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0x2, 0x4, 0x0, 0xfffff534}, 0x48) 21:00:40 executing program 4: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) write$cgroup_pid(r0, 0x0, 0x3ec0) 21:00:40 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) write$cgroup_pid(r0, &(0x7f0000000140), 0x20000152) 21:00:40 executing program 0: syz_open_procfs$namespace(0x0, &(0x7f0000000280)='ns/time\x00') syz_open_procfs$namespace(0x0, &(0x7f0000000340)='ns/time_for_children\x00') 21:00:40 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000400)={0x6, 0x3, &(0x7f0000000000)=@framed={{0x18, 0x0, 0x2}}, &(0x7f0000000040)='syzkaller\x00', 0x7, 0xf3, &(0x7f0000000240)=""/243, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:40 executing program 5: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$cgroup_pid(r0, 0x0, 0x3ec0) 21:00:40 executing program 2: bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0x6, 0x4, 0x2, 0xfffff534}, 0x48) 21:00:40 executing program 4: bpf$MAP_CREATE(0x0, &(0x7f0000000400)=@base={0x1b, 0x0, 0x0, 0x2000}, 0x48) 21:00:40 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) write$cgroup_pid(r0, &(0x7f0000000140), 0x33fe0) 21:00:40 executing program 1: r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f00000001c0)='./cgroup/syz0\x00', 0x200002, 0x0) bpf$BPF_PROG_DETACH(0x9, &(0x7f0000000040)={@cgroup=r0}, 0x10) 21:00:40 executing program 0: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) 21:00:40 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x18, 0x2d, &(0x7f00000003c0)=ANY=[@ANYBLOB="18000000e6749fbba7001e1ab084381cb98bce5da0504c2a412876e47ebc18f2b2837f79bb27a76ee41ad12024670cd3cd03000000f54606c4bd176d49bbb9c9627ed7e5a6a0ec08d0deee932bb65bd91423828b49f205110d74a0e1"], &(0x7f0000000080)='syzkaller\x00', 0x6, 0xa1, &(0x7f00000000c0)=""/161, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:40 executing program 2: r0 = socket(0x18, 0x1, 0x0) setsockopt$sock_timeval(r0, 0xffff, 0x1005, &(0x7f0000000040), 0x10) 21:00:40 executing program 4: r0 = syz_open_pts(0xffffffffffffffff, 0x0) fchown(r0, 0x0, 0xffffffffffffffff) 21:00:40 executing program 3: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) sendmsg$unix(r0, &(0x7f00000017c0)={0x0, 0xa, &(0x7f0000001680)=[{0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9}, 0x0) 21:00:40 executing program 0: r0 = open$dir(&(0x7f0000000080)='./file0\x00', 0xea31b34086dddf7e, 0x0) mmap(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x10, r0, 0x0) mmap(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x0, 0x10, r0, 0x0) 21:00:40 executing program 1: r0 = socket$inet6(0x18, 0x2, 0x0) r1 = syz_open_pts(0xffffffffffffffff, 0x0) fcntl$dupfd(r0, 0x0, r1) 21:00:40 executing program 5: semctl$IPC_SET(0xffffffffffffffff, 0x0, 0x1, &(0x7f0000000040)={{0x0, 0x0, 0xffffffffffffffff}}) 21:00:40 executing program 4: recvfrom$unix(0xffffffffffffffff, 0x0, 0x0, 0x0, &(0x7f0000003a00)=@abs={0x0, 0x0, 0x2}, 0x8) 21:00:40 executing program 0: pipe2(&(0x7f0000000040)={0xffffffffffffffff}, 0x0) getdents(r0, 0x0, 0x0) 21:00:40 executing program 2: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000c00), 0x0, 0x0) flock(r0, 0x7) 21:00:40 executing program 3: syz_emit_ethernet(0x12, &(0x7f0000000000)={@local, @broadcast}, 0x0) 21:00:40 executing program 1: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) sendto$unix(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 21:00:40 executing program 5: mmap(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x0, 0x1013, 0xffffffffffffffff, 0x0) 21:00:41 executing program 2: r0 = syz_open_pts(0xffffffffffffffff, 0x0) ioctl$TIOCSWINSZ(r0, 0x80087467, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x3}) 21:00:41 executing program 0: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000c00), 0x0, 0x0) close(r0) connect$inet6(r0, 0x0, 0x0) 21:00:41 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000003440)={0x0, 0x0, &(0x7f0000003380)=[{&(0x7f00000000c0)="e501b0ddc03ebc5590591da328dafb", 0xf}, {&(0x7f0000000100)="3be960aab1e2e5b62f6f17ef1883105fc3a7b8c81e69790067ad9a0d4442002bab1460dca4c9b754b96189eff41dac6c8596743e030fdf595f5746f062983babe88642e50bf8b9110ac6b4b1466637d794d4bb907b58ce30a25be58d24aea9b1802462388152b5926be911b1c7a865fca4491aa7a1aa8cea580efe02566f45e05149", 0x82}, {0x0}], 0x3}, 0x8) 21:00:41 executing program 1: r0 = open$dir(&(0x7f0000000080)='./file0\x00', 0xea31b34086dddf7e, 0x0) mmap(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x11, r0, 0x0) 21:00:41 executing program 4: open(&(0x7f0000000040)='./file0\x00', 0x200, 0x100) open(&(0x7f00000000c0)='./file0\x00', 0x0, 0x0) 21:00:41 executing program 2: r0 = socket(0x2, 0x1, 0x0) setsockopt$sock_timeval(r0, 0xffff, 0x1006, &(0x7f0000000040), 0x10) 21:00:41 executing program 5: setitimer(0x0, &(0x7f0000000000)={{0x0, 0x2000000000000000}}, 0x0) 21:00:41 executing program 4: r0 = socket(0x18, 0x1, 0x0) listen(r0, 0x0) accept$unix(r0, 0x0, 0x0) 21:00:41 executing program 1: r0 = socket$unix(0x1, 0x1, 0x0) getsockname$unix(r0, 0x0, &(0x7f0000000040)) 21:00:41 executing program 0: r0 = syz_open_pts(0xffffffffffffffff, 0x0) r1 = geteuid() r2 = getegid() fchown(r0, r1, r2) 21:00:41 executing program 5: r0 = socket(0x18, 0x1, 0x0) listen(r0, 0x0) bind$inet6(r0, &(0x7f0000000000)={0x18, 0x3}, 0xc) 21:00:41 executing program 3: recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x0, &(0x7f0000000800)) 21:00:41 executing program 2: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) getpeername$unix(r0, 0x0, &(0x7f00000000c0)=0xfffffffffffffe69) 21:00:41 executing program 4: r0 = syz_open_pts(0xffffffffffffffff, 0x0) preadv(r0, &(0x7f00000001c0)=[{0x0}], 0x1, 0x0, 0x0) 21:00:41 executing program 1: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f00000002c0)=[{0x0}], 0x1, 0x0, 0xc8}, 0x0) 21:00:41 executing program 3: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, 0xc8}, 0x0) 21:00:41 executing program 5: msync(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x1) 21:00:41 executing program 2: r0 = syz_open_pts(0xffffffffffffffff, 0x0) fcntl$getflags(r0, 0x1) 21:00:41 executing program 0: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000080)={'macvlan0\x00', 0x8732}) 21:00:41 executing program 1: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000c00), 0x0, 0x0) mmap(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0x12, r0, 0x0) 21:00:41 executing program 4: open$dir(&(0x7f00000000c0)='./file0\x00', 0xea31b34086dddf7e, 0x0) open$dir(&(0x7f00000002c0)='./file0/file0\x00', 0x0, 0x0) rename(&(0x7f0000000000)='.\x00', &(0x7f0000000140)='./file0\x00') 21:00:41 executing program 3: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f00000002c0)=[{&(0x7f0000000080)="e1", 0x1}, {0x0}, {0x0}, {&(0x7f0000000240)='t', 0x1}], 0x4, 0x0, 0xc8}, 0x0) 21:00:41 executing program 2: accept$unix(0xffffffffffffffff, &(0x7f00000002c0)=@abs, 0x0) 21:00:41 executing program 5: mmap(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x1812, 0xffffffffffffffff, 0x0) 21:00:41 executing program 0: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f00000002c0)=[{&(0x7f0000000080)="e1030ab5d48becefaeafe35c741a988d2af27033d89497f961d0bde6e827dd768a508c4d", 0x24}, {&(0x7f00000000c0)="fcb0fa3be06be9ca1aaee05cba960364fd121dedeb1ae794dc8643c02f3271c96ac8c09860b0998e214320e023c29c25d141c24e7f3f9eb33ad4412e99f38ac599095f0a2829a720df714b9e8bea777b5f2484e7e134b8831be387fa37514ba02be6e11469a27b04702fae9c88", 0x6d}, {0x0}, {&(0x7f0000000240)='t', 0x1}], 0x4, 0x0, 0xc8}, 0x0) 21:00:41 executing program 1: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f00000002c0)=[{&(0x7f0000000080)="e1030ab5d48becefaeafe35c741a988d2af27033d89497f961d0bde6e827dd768a508c4d", 0x24}, {&(0x7f00000000c0)="fcb0fa3be06be9ca1aaee05cba960364fd121dedeb1ae794dc8643c02f3271c96ac8c09860b0998e214320e023c29c25d141c24e7f3f9eb33ad4412e99f38ac599095f0a2829a720df714b9e8bea777b5f2484e7e134b8831be387fa37514ba02be6e11469a27b04702fae9c8839e4bc477f57e789ac9ec32e7c78503d2718c6f3cbac081b7cd464b8e45e9880ac7dc1926b", 0x92}, {&(0x7f0000000180)="9d33b19b2324ec168e1f2c31477cc4ddb3c6f7080b03e16a7ea4c41734bd998b4ce9107fcda13f7514cc13b3091c5ddac76a9065a4ae0ec12bb0922553cbe689b81b52794778cd947d3d054e0b43fca0346ee70113553ae7b69730457cfa87fb6998d5b2eb5745ec90db5486f33da038943befe758eb0fe0d9477ed589ff505a48933434ca7c54eed6824a1062d876b88faf8ba4140740", 0x97}, {&(0x7f0000000240)="74cfdcc2434bd7dabd83c0cd11a8cfb0c411fb57af97cff9f8de5fa59033d871446e1a9b", 0x24}], 0x4, 0x0, 0xc8}, 0x0) 21:00:41 executing program 3: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f00000002c0)=[{0x0}, {&(0x7f00000000c0)="fc", 0x1}], 0x2, 0x0, 0xc8}, 0x0) 21:00:41 executing program 4: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) fchown(r0, 0xffffffffffffffff, 0xffffffffffffffff) 21:00:41 executing program 2: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_cred(r0, 0xffff, 0x1022, 0x0, 0x0) 21:00:41 executing program 0: r0 = socket$inet6(0x18, 0x2, 0x0) pwritev(r0, &(0x7f0000002380)=[{0x0}], 0x1, 0x0, 0x0) 21:00:41 executing program 5: r0 = socket(0x18, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000000)={0x18, 0x3}, 0x212) 21:00:41 executing program 3: r0 = syz_open_pts(0xffffffffffffffff, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) write(r1, 0x0, 0x0) 21:00:41 executing program 1: r0 = socket(0x18, 0x1, 0x0) sendmsg$unix(r0, &(0x7f00000011c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000001180)=[@cred], 0x20}, 0x0) 21:00:41 executing program 2: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f00000002c0)=[{&(0x7f0000000080)="e1030ab5d48becefaeafe35c741a988d2af27033d89497f961d0bde6e827dd768a508c4d", 0x24}, {&(0x7f00000000c0)="fcb0fa3be06be9ca1aaee05cba960364fd121dedeb1ae794dc8643c02f3271c96ac8c09860b0998e214320e023c29c25d141c24e7f3f9eb33ad4412e99f38ac599095f0a2829a720df714b9e8bea777b5f2484e7e134b8831be387fa37514ba02be6e11469a27b04702fae9c", 0x6c}, {0x0}, {&(0x7f0000000240)='t', 0x1}], 0x4, 0x0, 0xc8}, 0x0) 21:00:41 executing program 5: setitimer(0x0, &(0x7f0000000000)={{}, {0x0, 0x8}}, &(0x7f0000000040)) 21:00:41 executing program 0: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000500), 0x0, 0x0) preadv(r0, &(0x7f0000001540)=[{0x0}], 0x1, 0x0, 0x0) 21:00:41 executing program 4: recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x0, &(0x7f0000000800)={0x0, 0x8000000000000000}) 21:00:41 executing program 1: socketpair(0x18, 0xc001, 0x0, 0x0) 21:00:41 executing program 3: openat$zero(0xffffffffffffff9c, &(0x7f0000000080), 0x200, 0x0) 21:00:41 executing program 5: r0 = open$dir(&(0x7f0000000000)='./file0\x00', 0x200, 0x0) fcntl$lock(r0, 0x7, &(0x7f00000000c0)={0x3, 0x0, 0xffffffffffffffff}) 21:00:41 executing program 2: r0 = open$dir(&(0x7f0000000080)='./file0\x00', 0xea31b34086dddf7e, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x1010, 0xffffffffffffffff, 0x0) 21:00:41 executing program 4: r0 = open$dir(&(0x7f0000000080)='./file0\x00', 0xea31b34086dddf7e, 0x0) mmap(&(0x7f0000c00000/0x400000)=nil, 0x400000, 0x0, 0x10, r0, 0x0) 21:00:41 executing program 0: r0 = socket(0x18, 0x1, 0x0) getsockname$unix(r0, &(0x7f0000000340), &(0x7f0000001340)=0xffb) 21:00:41 executing program 3: socketpair(0x1, 0x1, 0x0, &(0x7f00000006c0)={0xffffffffffffffff}) connect(r0, &(0x7f0000000000)=@in={0x2, 0x1}, 0xc) 21:00:41 executing program 1: open$dir(&(0x7f0000000200)='./file0\x00', 0x10328, 0x0) 21:00:41 executing program 5: open(&(0x7f0000000040)='./file0\x00', 0x200, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x0, 0x0) 21:00:41 executing program 2: r0 = socket(0x18, 0x1, 0x0) bind$unix(r0, &(0x7f0000000040)=ANY=[], 0xa) 21:00:41 executing program 0: r0 = socket(0x18, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000000)={0x18, 0x3}, 0xc) 21:00:41 executing program 4: r0 = open$dir(&(0x7f0000000080)='./file0\x00', 0xea31b34086dddf7e, 0x0) mmap(&(0x7f0000ffb000/0x4000)=nil, 0x4000, 0x0, 0x810, r0, 0x0) mmap(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x0, 0x10, r0, 0x0) 21:00:41 executing program 3: sendmsg$unix(0xffffffffffffffff, &(0x7f0000002600)={0x0, 0x0, 0x0}, 0x0) 21:00:41 executing program 1: open(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x0, 0x0) 21:00:41 executing program 5: r0 = syz_open_pts(0xffffffffffffffff, 0x0) pwritev(r0, &(0x7f0000000340)=[{0x0}], 0x1, 0x0, 0x0) 21:00:41 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000003440)={0x0, 0x0, &(0x7f0000003380)=[{&(0x7f00000000c0)="e501b0ddc03ebc5590591da328dafb", 0xf}, {&(0x7f0000000100)="3be960aab1e2e5b62f6f17ef1883105fc3a7b8c81e69790067ad9a0d4442002bab1460dca4c9b754b96189eff41dac6c8596743e030fdf595f5746f062983babe88642e50bf8b9110ac6b4b1466637d794d4bb907b58ce30a25be58d24aea9b1802462388152b5926be911b1c7a865fca4491aa7a1aa8cea580efe02566f45e051493b1785d77bcccd5d489f49828b336b8638239089282323571666b0120d5e5f2ec1d95f33e14df861e0d425b7329333ef228e663cce254e433650e6ad8f6fc6223604ede2f24bb48515c0ff", 0xcd}, {&(0x7f0000000200)="d38b35d395c15456aba4c72841078d1928ceb44e", 0x14}, {&(0x7f0000000240)="8f911ce4c01357042f49b86168dbf591c57f8c7b341c9a39e07af7a7dac631c64c7774b5e66fcf36b700b36ff607dca90ba52c94af0c25b6396a34bc0ad2d37e62ad93d78617954de163d27950769f506b6f71b48ba583633411d999e6d730add2e8355705cafd35f2de71adc98d011eae8ac00dd18045da76bf6b234ace47b7ecce4b40a00671208074335f434f956027ccf2c863daed956cdd4de0a5ca4ae7bc5fbcceb1daa4c2c66011460b3591e2c6287a5c72a060ee29b08544e44ee77fadef3c0636e82145392fef171bdf2498cd45c7df831d79b52813583879d0a378af65b04ae605731b66b67c7b3b2627b5c283417c03fba96a704e76e95d7a81805f74ddafd85f68bb4a302bc23461df7bf28f5a64e7d6587507d51ed67c71a93c7696b836ca2f715370ee91784c09334f794917c7b3a1403c67e157306e7c055aba6d43e9ebc0d311f495acd3f50f4381753b2cf7d23e912eef4f3ce6932e2e7f3a6494c0169a8a841312d218553b678aca76101053b969ca70db3f1c5fab72b84d1ea1b0255491a49d1e773441b448471e99685984e3069ccb94d50f040c06ea198856e2bc80875a1b03518be3b5a9a34613a6ad314a154faa4da2f65203eea3ec8cdd2ba2d8d73883fe6b16bf3d1c182209d4ca2be491d3c55d9228986d94b603b75778a72b83765a722effd9245d8ed0bd64b3a0554a546daff2940112a1f3821fcce0c58686dcd5f6869a79e6a2a4a4b68b4360eb6cc61b78f2052167422c7454702e8a9e09eca9f6f7ac3cb93fcf8bbacd081d77bfe119922495652ffb7e04fe5ed7c750c8540ff2162bc530d05c055e356c2af34ded3ac34afb557964d2129220ed0a2a42c178a7b0a5c288c0f4ffc6dfc9dcb0d36aff0ab9acde8602b3013f2cf78023ef21ca244a35243b557e5e79b251bc4a0acb0fd2db82061532abf4b170ef701a30e8009d0e2586a35d725a8b3de1873fe3bc6bf49c386314627c8c7c6bac772e7f072e1cfa6c8454219d2dac99aface7b34ef7ee21b6e507f408e66e4a75d09d041247f9bdd5772ecebb83f67fba5394c1ef53a753d4c9240b19ee8d8c168d441711b47ef6fdca93f4671cfc7b3e812574b08d5b3a6ae861664f93e0bdc12b8231a5f60b8f0de445ff10713b33f34b035432ff012f717de031ef343b04b30d91932598960e5fbb8ce5bd01457a62d371ba39a386db73a546b130d1e30e0dcc92af971d65857e5c34f557626df707c463a04a96967e2d166bc5378bb8fda9f84e044458908206b612d67bfd1907df98c15f56022255b9b22a9510eca2639e11905cff61bba5d0924a96a8e621a9432d014820373c84a154b52397d6ee4b537c11c4f6ce3d0df274ca9e2df29c8dbf65e1f9f0e36d395a18f70c6fbccf5cbe033d8c506c6e22636b2d4e12a24fc7cf58d73ad0a61c09c1e27e18e744d9d83b3adaeedcf3a533378973c7522d953abd60a293c25f57754901b836e0f3f9281e17595df8aff972faa80579885968aae8a6bd55f7038833287b79fc03c7c8b3da1fcf7aaea42e010995da6f02ac99eea50858e500d58a2b0f725d7f68ddce263fe85a4e90302920555a47eb55e75d266ff93858cb10106ba6e59f616aabd29b81a5cd4f49418e43bbe6563b50f158c01b21b72f1ed67d26e736b190db7a5bf1ce3061166e48194d1aea83869b6f210e8d925f7d97c2abb7fb4af61ca93b060eb36d70c3c0c8e8e1462915a9225db6b72803507bc40188eaec79767ea06c1e930ee25402c3142ea35d956d766ae96f2119090e089b2347f129799dd943c3133e37e988c03a6eb54290643ff0737381bb607b1e975ad190dd974bebf053cf9941b2ecdfaac1de5ac3f99d2256648d8da8d406caa755e7d1b057019c0e5ff6a3dd7a86abcf9cf0c05eab5649357ffa4783076ee0becd56f802ca2da0f35e9038af7be9206a997fcb88f5a266c49b64580da7655d0bdbeb6a9408b7c0977f35a41e52f12ade4ed69f1e4fece5afd3a5dec5e785f9004f4a70ffc09c1845708cf60cceacb4ddc7b5e5dce1741b6f9221f4bec43feb9bb9f5248df2619cb3587f7d2fda1f41f79bfc482a132f404d7f16320dd2170eba59574616f8b2ef4c35da5b60b0760894d454838ea1fe50f27bb973fd2cd042aa05e569e856872b7d620c4c0d32a9660e6a57c91883731046bf646c566c3931a9f877f256974587d7c762bed5387140146598de825161ea19e2f05c58a793e5cf8e2f17b4dbf1a9921234ea4cac11921a13c309341b8550aeb0aebd723551c07b76b9fa8240296f317959d383bde25dbcb1738a2f8c3ef5f321f3cbf60f1e7de2c9f1f41489aed947b8958d762401c255bad45e653c0e3048f0e7df8dc50f4721e1d70ac799c9e8e8779c59b8e4b6ffa8a57d4b79959a0b1bf1097a9b152791b5b252e0f44f3ef3834c604734a61f8e7bcbe2157ae73a4cf29ab5a6ed2813780c07ab68ef10b291aaf851b2b4b3a06657fce89a01fc4eed403d8e9b768168a6266b517a6bc5538e2b6cd7aa422e8ee6b1f31e3284d2d90ec6ed831bd9a09127fdd1150ec4637990b981c67220c4dcfcf271e0593980acefaa357d1ae6d988ed0415ee83cbfbc8e08a8600846b3afb96a9e4bcd375494867137b82550456bb1a2d3e5bb533aeb95e9372c3edf45bbe12fae92bfc8ae7801ae2a4fb1533fedb79b78e4150217a782e49c2ba357de3efc93fc123b4eeb1ac053dd5453e617ceea8173c8b85b567d81c903e94c55a1370dee412a235b51ee3fe68e3bf1f6027c575cdff9d8016a7368e6aab2ab8f68535912b347edad697b6038fe8a56eef99042a696736771e31a8d1cc283fd4f8de52f1c7e3a7c9b8dcf5626550d7179a3aada0b5a26ce85a9d15935dcc349a6a2336466edb502e5cdfe0c2204c60956f82192aa0a618ab25e56f8c66456bb2f6f9e288c2fa193f22f4a3c70fd0b4d44437d2975649b7f651ec70f8248590deca5de11cc158997c24c94cbb5c44fafeb13b7da69b8e4ea429fd74c6c920c88f87adbcc98485077338a7beff1ef7df1a592e8d670a71dc8293cf6f57e14463d04da43ff0de4f6dc4a2836591113a1f12dc11c9bf576fd9d78fdf5b3e1872c091ea730f09bcdb46c0a03bb787cc3ffc06fbacd3eb559d0c2476de8d1578c1b642dd42848127408acc0c559d29af5e7721c71402185b1c2992648570febc24751c92f05b5ae53ec59cb32c62f0c2b408cd99082674d39eed6f6381c5deda01a98ffc5139564633ede67df5a930856647cfaf91b4ebf8c0bc457d9bd3640f8194943c8e1094f583bc93935f3261261ceb58db0a72ef906d630950d5854ec060836887e49e2a933ee4b9f39fd9b036b221075f3303088812d304417758772733ee3c2c40222e9abac1d377020b3bb44d3ba23019d4ba9a9a94cbd6b2377881e469ffde362a80d9ebca15023fbf198c5f5f4aa9d5914305ccd338c06b64f01711bf8a4dd8a772a314424e20d8476fba9ac7c4e7a68d3c4718907a6f599a4af9902cf162babeced5809a960bf6f870b974d6ea41b9bb3c106991ab478484e6eb6993f505b7de42d97ed11844108aaed30163d6988199739670c37b038c48f22f567962e009e70a8675d3a28d477f2dc29a210ab6c1c70755e3b4048eb38313dcb01f3d55e523e020769b93dd339f624cb5f0842e40b97afc2cfadac43b31ff8966f0e4362dfb39d238371be54537eb9e97781da2348554cc00263f570833377c6a4d8b2a967971e4d8402fe4223a79c488c95ebe466ac2d4b266e7b9e68f72811fff329c12a296b5b4dab6c07a7a474835b9ae37b1cd80ca90e21b017238e49f1d3d2aa78bf2539c9f49f7020c26c034111070c6ca7e4301f2b86c4b959f108f822a4f71a46f12c24f8bc9212d59b941d8aa851ff022c83fb1022d667a4edab51d44248e81a99a8b7d2d342fad1695210a7c7006ce7635b1b25660f7a04fa22193934e4aa78a554fdd3163b7ba1315312b5d750eb4f53ca8939949811b5cf8ef78dcff4d3a43ee48dfb0c05a2bdc337153d2e75258fe7efd4a0900184d325b87c2d18275899b9eb8c2c8ae07272cf4b3913389ed5ca2cfd8bfa79b9caa2412ed4826746fdc8bcb87b9e6a4340139b99ec33afd1cde827232a01ebecbb7864afb591d06eccfda5f459046f947eb47b68f6d77db3c0e01320418bd2a8b45c93aa8cb9e4092d5db61bfae4ad5bbdb236e97c0249d5daa937a656fa38b6f5a844ef4234e3db0e8f919fdc3c5306f57d0535ecb245a69465f09ad561a627c59a5da9eabd889bb4971fbb40ac6056d2594da391467eef920c4af675fb6ee9f939d2da7e095ca48ae411a49f40177383e0f093de8587bf4d8e4d26de058a0bd52050ca55e1cc02fcd83cabc4229a540798b166cc6621eb808765358d98bf845de12c89d0548d89e309ad7fdce624e10a3fc055deb996a040efd310f7c3ecb3a50195b4a2df31493d4672944ac6235e31cd8e6ac0e53dd3536e4e0af3cbe7457b814156abd018fe340bfa2e8cd33fbf26a1ad3ffebdd4b47a549d78c406b0b3578ebd01c7f51ae083848d36a3c33a270c33168d120e940751829a761e6eea2deef12a0d9e44b4e33d71c7752a69f88aea9d448d6be810d831aabcdcb63aa7e16ffc952725efdc16c0bdd14bd870ddaddf6a0ee0f5759103a89ca3b8c9625c878a50a33f8773e0f79eb74604eb156b9fac654d13fb8505c95c7f1420c02614c0cd84f9e8c6738c92063eaa721f9a979ce160b47e550e33bb15196c27bbf6f901f8e544033b1eaf19f61a302d1860ebaa65b7433d31a764fa614654b8a532e5aee5f461d99f139e3128f644c0f40e0f5864d654b87a8a202c989110fbcdef5e3503f14c75f890ea01778252cc060fd18a034eb86693ca453e7e1bebcecf2ce4b4924c5a296d16e52d5e244019a54ee7332616c9e614f093e0aab07209312d8d04d94d51eb0f794581d00e3b161478a22a317a8b06413e2682db5494e1871656b4034f4cfa1f4c46edc5e7af15e115df16a5eb558bfe93939cf6e3ee22d7bb29820a63049baad97ece516ea8aead66ce1a39b14a1f31c149cb90d65d9d0f23cc5147e1448f58ef501458ee0ef05d233d0a3dd2bae69b1c1a1107f6d98fd3c5c26d373f1a9f2bed99f85224c4acc42c4ddb5b4698e549ba0e31264100b618774ae4e43891b1469e4befee82eaf408bca6799fd698306f16c2dbbf761d12c67e19d488c5a0ba9a469d2cf4c53ce51e683365ddc55808ec2a8c6a98ecb7d054b5842f7b2fc898cb114428382b8bb8a4e40deef452a238d2f3b7261d314537ed82028c34cbdb7cc55639d1372d44cccf647bbec257b822d04d4c98e01e192ed20bce1dbb82c136d65a3c5a8ec58321c4b6c57d55b08f4ba7f400b1326350631ca1d926a552ed1d8109742711742a91f611d225c520e0169a3ee0d040fbe4b70d8784ad1b63bed853f6b4873d585b880707aea6fe8c7eb07769c781cf05cac52af5149d06d2f9d0c66722eadee942b200b173a1c746201014cce1328505ed8e0f20b3d83bfe7610593aa1acf86c55fbcb8416e74a215c9d365c57a86ef2a3bb2a1d7d73fe89bf6ea3fbb8c91a69e83cbd6e1afb453d3405b8de01a23660fcf8dc176a3c5b11c893278b347274c919d031406ff9e6be6cfa30201bb57e9ce430fb9a92e3e3563c414c7134d01c51f23945ecea7762997455f6f582d262481902ac2da98fa00edda0b3ba4ec42b32da1f3eb385d16c73e954f12b88ba667a94524ea97b57b9bfd9ec529", 0x1000}, {&(0x7f0000001240)="5828cf5b203d4ff4d6f49021e24fa2ed7837d5bcf7316ab73270bff9fefb0c0ee8c12093fbfb1c6179669f0167a798fdbd249d29e5dbbb1f63b869dfcbe479d697e2babeb0a1bba885c5ef8745a0419cecd0c1a6d2a438e04cbd1cae9839b42a12db48af4cd4afd89761db7e1a2f642734609551f97e55ed88eb0a57c8660a0867de300ee5727bb56b9605a7ace1cc0cff3e9cc028fcb523a6fdc5fe342c663d6fb0dc12529f2b582e407124d25cc6ac3858f32577c254422786fa3987c0ffa386990eceda20422ba8b86ab580f5cf4463974c8b75fb1633d03541eac94128797af2d376aef8377450817b9cb3014e7b0e3133ed4c2d2f101250ca4764553c0d5f22339464c986fba6be8bce019b33e902aba6a87c48019bb28ec1e6857f6214c2c504cc04b31d9032b49dc3cec78a0def7baf4050ddd6d48e8dd405a42d508556ef40e8963db116285773e820d7f89f0c9e1484db430b11d7579eff1f871159de96f022c4f5008aef4e27c09da63ec4e85e4c212897a5651484e61be963a23aacede106cce4ed3db473f281f34183fb641431e05f2f42e8e508a36c19da8ebaa02a5fa7d862192986a7fe12cd4854b69b4891ce1e8f22eb40904504cfec2b4c719714ac66e636f758f05a5ffe0147efcec14bafa6b1602ac79ea3a9710d8675e3e662236d25b069061190cecae3658e884a7f94ed52bde991dab4f450fb299b0dab3447f34bcb9bf6e2f4cc4920ad25dba232ec3d9207bc5f6ad253e24f9cf8092640047623bf2a33f8ee303eb2a6879653f0c6a69cae1e7d0dc0d868bb093e3b916e9a79adf39e1224dde7bd30d3b72e9b132b804cb94c14c71c9cba36c550c7dcf934c22b38e2066878804fc1748a91b452e7542fad32fbae4825bba9b4268508f2471c44f91fccb3854ec38160605e4916c7e2870351f51d53be656c181add1fd2e2811bd7c8aed490e80d5b777b8b62d1314b114265e7a256974b81736792e3f7dea3cd67b94c1c0e6033331360ad07e90d2abbd4bfe2624823c6090aafcefecf31222267cbc1cd454f8a3e1985b47fa78a2022495667cc0fc5fb3020d53e645dd23319abec2902ff865016a861f301d0ac0a488df221f11b7c8d48c333beea710c0d7fbeb074c9205348b194ff8f55b1b5008c578f5f75e2b772662b207969ca9fbfde11fea0f8a973dab637176f6f7fbac8a9bd06eedd6c413cfa3d32da622f78f407485f0ba0961d37ed1fc7fc6e84757dc3c6eb70c84efeffb2d6374f9581569b72bfe0e7987216ed46b7a4a135494225f31888aca1b82a7c1307b74f9f32ad04939e2ca8680673955e0c24b8f2a3ae258c2cae1f4cd4af6f1eb456117b8595274c9c32b40e62f33d89455bc6de051f7548337c3e3337f7c3d66dc04d8e0db5f118f98833d4e33c6449046ec300de2f60650a4cd4653a5f2a19f8b9b013277fed394ccffd65dfdc0e50e7bc1dd0337b615604eb7c6f07ce727c6319f907ad3692403fe5e37c511a7ed53892f50a9a17bd6daa864e18729160cf2677e6f2791fdbb0f65da0f044ad9ad7f5b46bf9feb7f17dc7a2d954ecf96f035145c3a4b773059344b4e8e2aab562e91f19d50c4e6c0bfcc3a7caddf3786dd3e628ed3c73fa993ceefae35ef98db0a5396c8a3f5b27f249913deda771dbd2f785f33510cfc2f018912bac8988765a4fcb355263cab3f9bee0b2f3c504c0a95aaed401b12666d95d6f331698cd2371e4a9460a6463d9c4d57f97e1fc341e9df2b0cb64b82521636f68ff2fc482fb792436cc0a6455ef3df569eea6869349a97c64e28e96e25f4a382db920644d47bba294841b81457390309f337153fd2a5e81b8799f15aed649c90f51078bcf3a0286dc1020e214d8f266ff22482c9f172388840690c53bbc3a25396c549467fcd07955dbf68d7d9a4124075d2ab0b63fdebbac3319c8cb32d09c69f1a4d8da3d10176544469350c1bb938666a5045f37fe261dde0346185cebc9ac3871ea313b2901d3767e9ff27387f0cc4e6fc6156bf4dcc6b2d654de1b0504473135961b4c91090ff562b4cb986cae1e800818cbc5719882a59781dbbeba421deb528ae33caec922ab428527a429a048dffb6596cdd5471bf8db8bbafe4b84b567305412216554965201adfb4a157cf714a0e8eefe0e80db866b3d125a83db211157acfa28a7b5a11cd4324507ec77e64d06f413bd6670f8a6ffa0166dbf2c625342d4473bb4a4dd7e58a534241f7c454d853f8393116f472a9f2e9806f0ebef32f62b68046127f748076ef49c2144710dd18ef39215c93305ee1e0d6ad38df305c3098dc490c677ca034c442d88d588e661aba64db974315f4bf3cae302fb796ae2f71edd0d36b812e89d5ed6ca9550fa50e37c910a5078b968f7becd247d4e6d3fb474b043e99032acd40bd098cda6218622908b50e34ed2991a28d12bb0620763b2cd2eae90b157b2e6ede6ba7ee9e7c94602500f94f110e7b580c1e1189a2c3df5f247720eb4a53837b3ad47dcc1a20ea22fe518ea47cc62d170ec63a6a7a39e295f494edab62de935f00c18638e15d65c6da483558aa3cefb981e655baafde5d31884a20fb6030a637adb423fc4434f76f2e42d647041377dc69893887b7511083afdb7473b518ff51dd6fc59da96b98a741281c50985dee9ce3ed44ffd92711ed5ae34aa4d4f8734919d9a72c16459c034eb45484017dfb2238df697268f7131e6a8d49685514260cbbd4a021dc196820e4265913d48d7245a98fb0301a48eb8e04c0b5f2b6f46e69200f22cdb791ef5f4526cf01daafa7706db6d01bf4bf96160a1a3b5279466eadbe364b217080bc2eacc54cc6fb59dca42d9b067b65ad2fa812c51e30b6fafda2908b2ae660af25361e72339c18bf91752b9b18f0ef7392aeec0ee27dfaa812d69dc9a8227b0bc6aeed0e1d07f4dafc4f4ab4e364fe19fba981c6ea501cd29f6a0c2bfad3aa6627ca0edccbd08918fc461c65ff8a6f49762975739c4b671ef32c8db158a9c1c5e0007497d93cda78ea150a1b11d6a3143b4b21cc723e2deb723f1bab5bb9c048685db3b1e2c504df09ea150cafdc60339a0fbe89023c698bc14d643093ce5accef5c4f7181bc0247fda67bca83a3514edff8670695dd944b7ccc07bdc6d10d232824af6153f651a8d5351658de5319f82abb98418e3bb21f73fa58eb0f5e820f7a0ae1915d415738831cededede1cf9ff2a9ff7020cde5852fba10c6e0061063e4e8c8c7cc99c74676ea84d85001ca6bf6604a4d0b46b6d5f05e7ea8757b09419cab53ea33dfa79c4a9ff958dfc898a638a989d61922832349dabaf29381e1827a20aa8b15fb5e883a9b781da5ad9789b55c413fc816340c84271a9a2209ab497c647b04280911942601e2c82bc2e3b46be49552334c1b7dc7fad68044033418eb059357252c6b0d95042561660b882d79f0a7d4bd4305ab06a79e48f8f4016792b85294d0065fd1683ad6acb85b2f7b508f27c3f546c501a9db1631582d0ee9e6211073673e2b82e850a94cbdaff82f108307fa0628eec4e1ef1ecd84f4a8a60b797ffcc59fb9ad31bcc9c26d7855a51dd4983b09a2657d454ee19e0fb9fb37b0e6c05894055b67cac939c1070a4f0be1e9a97eca838e35af96e9a79617a3a9bb3b97095ee5f66e566e055ec46a2a9f57a6c58f4cbd26064a08d6347a405954d4d56ec69d147c5fc76765b16df93f113a9ce5c8bbcce65c3acb169304165ccccfd3ce84cbe0c5d571bfb2338b117d4df858736d8222a1347ac3db9aeaa6ceba5348e2a26a381717cd02afc9f5421d3fc26cdc7db731fefa67912010350071bfe788cd73b5366bf1f1230d9dc3684d8781183beee03715530df5fc2f568a210f7bc52700f0dfbfbf16a3e628180b413a3507ed92a18529adb1f40c04f67df8607cc444facf1b07e8bf06fbce99f52832b5c9f272293f1b7afaa5ed5d80c84544f16d5619e71bfa6323b109753150f8db2027ed66263850d823c28700a2043d7720914b0d652c2c637ac5ffc7fab00fce65537d254500f56a58bf4904bd4679949a493812d093e5b92337e6b41649e04c0ec4559f948299ac19e83e55b78e6d13f9f354b25283036d36bfa376a4ce82433d0a10d9cb82c6c623f05837ae945319f94c42b73d29cefbc4641cbb63834cf763ed2f0bd4ed5b50e27805334be6d487506cf7e27915ca2995efbed5bddc9a371c28b89599f942e0191bbd3f976ea1b9fc0c2c63f7f1db4b54f0be27f24a4e8ce411275a4d1c5d87a9fd243a2b4c142c4fd86f02bf1c92bea1d75562108e9b625114a8f24dc4b61e904d4fe4c2ab5ccafb185ec278891073b5d142a5b8b03395d429315b60bc1d943e39f26192304adefc409b44a441bb3928dd0f34b09a234e0a389b512653f11e42898374bca3661b47d54032b4febe27171271b68d02fb9779227431c536113b0804c5e67e1171a122cf1cf994ffea547553b93560068a5f0da3722f35e0b8b2f41057499e48683d7ec4036fbfc1e12d24295f2c91d933bab0bedb9f64633008f4aaa886fbbce821dcc2a3bc10514d22c85829633c7af80f144635a3af5f61f4f4bc82b2fc0aa96a0adaad84765fcec49fdb4f484114bcaa127f79ae86a926461f308ba8ceb0f4a1d5d6c3818264241a8a49b7297c488bd6991c561634be070a5fc1f79a72823e82eb2e986e38a9b6b731adeb035d0032edd336f73f099ddc1e69a1f0993fd9bfbf5afb2a323b106b243824520a6ce37a8fe6d9d34cd9cdff7d2d24e205b2a8faa0124f235a6c3e4ca0153e582d69d4e61bd53a477971c079a8dd0470027ec247ed04df4c5b4dcf9934fc0179f73766eca1c910354321e5c81e26fc645b499d8daaf058a0e74b62542378e3d851f9ae16cd80ebe95870a52c49dc7d3e0c731b7dde03f8d1bc335a1c5340db5eced0dbf8e6f63262484eba0d570b06bde0e1999ef20278f89826a2cc98a4983327717e4dd6642bb479073d25f2b4f802edeca43ea5e66526b6d85594faba2bebef2c1bb8588ef4d2987eedc516828f8cf31040cfdc4380fecf2c0ed79cea1ea7b5671cc94abba3b422577b99dfc2fedd82720eba2efa0f9aef30e4e9311f27c9f2d37e5693c07245774e88a815216c5e8d56810fba5845ec92596c8c91548296f2844e1b4bc4bb41711f224cdcfd55231ac8c69fd124340ccff282442f8a1fba28b2a2581c06363abd176b53d76eee731c377245d8e26464d984ed2ee0eb363124e56cdb87e38bb9d73b4c7096bcfc688", 0xe94}], 0x5}, 0x8) 21:00:41 executing program 0: openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) 21:00:41 executing program 3: r0 = open$dir(&(0x7f0000000080)='./file0\x00', 0xea31b34086dddf7e, 0x0) mmap(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x10, r0, 0x0) 21:00:41 executing program 5: mmap(&(0x7f0000ffd000/0x2000)=nil, 0x2000, 0x2, 0x1010, 0xffffffffffffffff, 0x0) 21:00:41 executing program 4: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) fcntl$lock(r0, 0x9, &(0x7f0000000040)) 21:00:41 executing program 1: open$dir(&(0x7f0000000080)='./file1\x00', 0x2826a, 0x0) 21:00:42 executing program 3: open(0x0, 0x400, 0x0) 21:00:42 executing program 2: open$dir(&(0x7f00000000c0)='./file0\x00', 0xea31b34086dddf7e, 0x0) linkat(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0xffffffffffffffff, 0x0, 0x0) 21:00:42 executing program 1: ioctl$EVIOCSMASK(0xffffffffffffffff, 0x40104593, &(0x7f0000000780)={0x1, 0x0, 0x0}) r0 = syz_usb_connect$cdc_ncm(0x0, 0x72, &(0x7f0000000080)=ANY=[@ANYBLOB="1201000002000040257d15a4400001040001090260004201000000090400000102090000052406000105240000000d240f01000004000000001f0006031a00000004800200090581", @ANYBLOB="7bf3"], 0x0) syz_usb_ep_write(r0, 0x0, 0xfffffffffffffe0e, &(0x7f00000002c0)="333d8e3d7ab74e963e724e24ffdf8ab57d41ae54cadbe267614cedff2df002303fc3268c2ccc9deb1699f7445b9b04fdb30c2af7b772f9471ac3f3a71bad882e499eba67c6e348be59ad61b6c857d28ed5a90067aa5d0bbc03abf5aca9cfce6b8b7ff9b73f67faa4c9d8f6bf59d6f3533ebc53f1c5f1728ea3d527ed1e1834c8d278800c2a13b84aace22e14ede41600"/157) r1 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) read$char_usb(r1, &(0x7f0000000380)=""/190, 0xbe) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f00000004c0)={0x44, &(0x7f0000000200)={0x0, 0x0, 0x1, "eb"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 21:00:42 executing program 4: r0 = syz_open_dev$hiddev(&(0x7f00000000c0), 0x0, 0x0) ioctl$HIDIOCSREPORT(r0, 0x5452, &(0x7f0000000000)={0x1}) 21:00:42 executing program 0: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000000c0)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10000000140, 0xd8c, 0x22, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x1, 0x3, 0x1, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x1}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io(r0, &(0x7f0000001000)={0x2c, &(0x7f0000000200)=ANY=[@ANYBLOB='\x00\x00\a'], 0x0, 0x0, 0x0, 0x0}, 0x0) syz_usb_connect$printer(0x1, 0x0, 0x0, 0x0) r1 = syz_open_dev$hiddev(&(0x7f00000000c0), 0x0, 0x0) ioctl$HIDIOCGSTRING(r1, 0x81044804, &(0x7f0000000000)={0x7, "ef"}) syz_usb_control_io(r0, &(0x7f0000000240)={0x2c, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f00000001c0)={0x24, &(0x7f0000000040)={0x0, 0xf, 0x7a, {0x7a, 0x2, "e56d4358da8f28822db602098ecc5f21a5b285b1dd0855a6fd1712ddb7868650b16e5d7110510dc758ce0712b26a5c18f29ddbf408299b3c9cc0e3fb0df98b94f4bf92c76b75405462101bafbe486cd27d1ebed3ba413a6bb1f0c49b3a6562ded605222fb4ec1c40d6e75d8dac370cb5ac7d02fb836a9f00"}}, &(0x7f0000000100)={0x0, 0x3, 0x4, @lang_id={0x4, 0x3, 0x300a}}, &(0x7f0000000140)={0x0, 0x22, 0x10, {[@global=@item_4={0x3, 0x1, 0x2, "e5576cd3"}, @local=@item_012={0x0, 0x2, 0x7}, @global=@item_012={0x1, 0x1, 0x5, "a9"}, @main=@item_012={0x2, 0x0, 0xb, 'V8'}, @local=@item_4={0x3, 0x2, 0xa, "7998757d"}]}}, &(0x7f0000000180)={0x0, 0x21, 0x9, {0x9, 0x21, 0x2, 0x20, 0x1, {0x22, 0x4f8}}}}, &(0x7f00000003c0)={0x2c, &(0x7f0000000280)={0x40, 0x16, 0x37, "0c06779a13d586a6ad28f410fb9c91b0290c083934e3ec4356926e84c1e29b60a5c0719e1643bfd4bb0a4b077b009826e1b111e735b261"}, &(0x7f00000002c0)={0x0, 0xa, 0x1, 0x4a}, &(0x7f0000000300)={0x0, 0x8, 0x1, 0x40}, &(0x7f0000000340)={0x20, 0x1, 0x17, "b3d4c63bdd0b252ddf36680bc3903a8e260bb29e2d2eda"}, &(0x7f0000000380)={0x20, 0x3, 0x1, 0x4}}) 21:00:42 executing program 5: r0 = syz_open_dev$hiddev(&(0x7f00000000c0), 0x0, 0x0) ioctl$HIDIOCSREPORT(r0, 0x400c4808, &(0x7f0000000000)={0x1}) 21:00:42 executing program 4: r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x200, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x2010, r0, 0x0) mmap(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x0, 0x10, r0, 0x0) 21:00:42 executing program 2: r0 = socket(0x18, 0x1, 0x0) getsockname$unix(r0, 0x0, &(0x7f0000001340)) 21:00:42 executing program 3: rename(&(0x7f0000000080)='.\x00', &(0x7f0000000140)='./file1\x00') 21:00:42 executing program 5: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000080)=[{0x0}], 0x1, &(0x7f0000000940)=[@cred, @cred], 0xc0}, 0x0) 21:00:42 executing program 2: r0 = socket$inet(0x2, 0x3, 0x6) sendto$inet(r0, 0x0, 0x0, 0x1, &(0x7f0000000040), 0x10) 21:00:42 executing program 3: r0 = syz_open_dev$hiddev(&(0x7f0000000080), 0x0, 0x0) ioctl$HIDIOCSREPORT(r0, 0x400c4808, &(0x7f00000000c0)={0x3, 0x100, 0x4}) syz_usb_connect$cdc_ecm(0x0, 0x56, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000020000402505a1a4400000000101090244000101000000090400001202020000052506000005240000000d240f01000000000000000000090581030002080081090582020002000000090503020002"], 0x0) 21:00:42 executing program 4: r0 = syz_open_dev$evdev(&(0x7f00000000c0), 0x0, 0x0) ioctl$EVIOCSKEYCODE_V2(r0, 0x5452, &(0x7f0000000040)={0x0, 0x0, 0xfe00, 0x0, "4efd100000ab00000049a20200799720664cfebf9f0000e6ff07006606001600"}) syz_usb_control_io$hid(0xffffffffffffffff, 0x0, 0x0) syz_usb_control_io$hid(0xffffffffffffffff, 0x0, &(0x7f0000000600)={0x2c, &(0x7f0000000640)=ANY=[], 0x0, 0x0, 0x0, 0x0}) r1 = syz_open_dev$evdev(&(0x7f00000000c0), 0x0, 0x0) syz_usb_disconnect(r1) syz_usb_control_io$hid(0xffffffffffffffff, 0x0, 0x0) syz_usb_control_io(0xffffffffffffffff, 0x0, 0x0) 21:00:42 executing program 5: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0xce, 0xbe, 0xaf, 0x40, 0x424, 0x9d01, 0x4aaa, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x59, 0x7e, 0xc7}}]}}]}}, 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000800)={0x84, &(0x7f00000003c0)=ANY=[], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$printer(r0, 0x0, &(0x7f0000000040)={0x34, &(0x7f00000000c0)=ANY=[], 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f00000004c0)={0x2c, &(0x7f0000001200), 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$cdc_ncm(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000900)={0x44, &(0x7f0000000640), 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) [ 369.138239][ T7] usb 2-1: new high-speed USB device number 10 using dummy_hcd [ 369.148237][ T23] usb 1-1: new high-speed USB device number 3 using dummy_hcd [ 369.340125][ T3693] usb 4-1: new high-speed USB device number 7 using dummy_hcd [ 369.368447][ T27] usb 6-1: new high-speed USB device number 5 using dummy_hcd [ 369.508189][ T7] usb 2-1: config 1 has too many interfaces: 66, using maximum allowed: 32 [ 369.517199][ T7] usb 2-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 369.558335][ T23] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 369.568162][ T7] usb 2-1: config 1 has 1 interface, different from the descriptor's value: 66 [ 369.578696][ T23] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 369.589688][ T23] usb 1-1: New USB device found, idVendor=0d8c, idProduct=0022, bcdDevice= 0.40 [ 369.590451][ T7] usb 2-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 369.599321][ T23] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 369.633565][ T23] usb 1-1: config 0 descriptor?? [ 369.698434][ T3693] usb 4-1: config 1 interface 0 altsetting 0 has 3 endpoint descriptors, different from the interface descriptor's value: 18 [ 369.738393][ T27] usb 6-1: New USB device found, idVendor=0424, idProduct=9d01, bcdDevice=4a.aa [ 369.758010][ T27] usb 6-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 369.808326][ T7] usb 2-1: New USB device found, idVendor=7d25, idProduct=a415, bcdDevice= 0.40 [ 369.813001][ T27] usb 6-1: config 0 descriptor?? [ 369.818310][ T3693] usb 4-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 369.849607][ T7] usb 2-1: New USB device strings: Mfr=1, Product=4, SerialNumber=0 [ 369.879994][ T3693] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1 [ 369.901816][ T7] usb 2-1: Product: syz [ 369.927750][ T7] usb 2-1: Manufacturer: syz [ 369.933693][ T3693] usb 4-1: SerialNumber: syz [ 369.999173][ T7] cdc_wdm 2-1:1.0: skipping garbage [ 370.009332][ T3693] cdc_acm 4-1:1.0: skipping garbage [ 370.019469][ T7] cdc_wdm 2-1:1.0: skipping garbage [ 370.034472][ T7] cdc_wdm 2-1:1.0: cdc-wdm0: USB WDM device [ 370.041317][ T7] cdc_wdm 2-1:1.0: Unknown control protocol [ 370.137005][ T23] cm6533_jd 0003:0D8C:0022.0001: unknown main item tag 0x0 [ 370.153755][ T23] cm6533_jd 0003:0D8C:0022.0001: No inputs registered, leaving [ 370.190543][ T23] cm6533_jd 0003:0D8C:0022.0001: hiddev1,hidraw0: USB HID v0.00 Device [HID 0d8c:0022] on usb-dummy_hcd.0-1/input0 [ 370.229470][ T3693] cdc_acm 4-1:1.0: ttyACM0: USB ACM device [ 370.256207][ T3693] usb 4-1: USB disconnect, device number 7 [ 370.588172][ C1] cdc_wdm 2-1:1.0: unknown notification 61 received: index 46970 len 38478 [ 371.133570][ T23] usb 2-1: USB disconnect, device number 10 21:00:44 executing program 1: r0 = socket(0x2, 0x3, 0x0) connect(r0, &(0x7f0000000300), 0x10) sendmsg$unix(r0, &(0x7f0000000580)={&(0x7f0000000000)=@abs={0x8}, 0x8, 0x0, 0x0, &(0x7f00000005c0)=[@cred], 0x68}, 0x0) 21:00:44 executing program 2: r0 = socket$inet(0x2, 0x3, 0x6) sendto$inet(r0, 0x0, 0x0, 0x54, &(0x7f0000000180), 0x10) 21:00:45 executing program 0: r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$ARPT_SO_GET_ENTRIES(r0, 0x0, 0x31, 0x0, &(0x7f0000000840)) 21:00:45 executing program 4: r0 = socket(0x2, 0x3, 0x0) sendmsg$unix(r0, &(0x7f0000001a40)={&(0x7f0000000000)=@abs={0x8}, 0x8, 0x0, 0x0, &(0x7f0000001980)=[@cred], 0x60}, 0x0) 21:00:45 executing program 3: r0 = socket(0x2, 0x5, 0x0) sendmsg$unix(r0, &(0x7f0000002c00)={&(0x7f0000000140)=@abs={0x8}, 0x8, 0x0, 0x0, &(0x7f0000002a00)=[@cred], 0x68}, 0x0) 21:00:45 executing program 2: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000080)=[{0x0, 0xfffffffffffffe1a}], 0x1, &(0x7f0000000940)=[@cred, @cred], 0xc0}, 0x0) 21:00:45 executing program 1: mknod(&(0x7f0000000080)='./file0\x00', 0xb7a85c0cc958f046, 0x40100800) open(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) 21:00:45 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x18, 0x10, &(0x7f0000000080)=@framed={{}, [@map_fd, @map_fd, @map_val, @map_fd, @generic, @ldst, @func, @initr0]}, &(0x7f0000000140)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:45 executing program 1: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(0xffffffffffffffff, 0x0, 0x0) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000140)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000004c0)={0x11, 0x0, 0x0, 0x0, 0x0, 0x5e, &(0x7f0000000540)=""/94, 0x41100, 0x2, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000280)={0x0, 0x0, 0x2}, 0x10}, 0x80) bpf$BPF_GET_MAP_INFO(0xf, 0x0, 0x0) r2 = socket$inet6(0xa, 0x802, 0x0) setsockopt$inet6_buf(r2, 0x29, 0x39, &(0x7f0000000040)="ff0204000000000100000000000000000000000000000205", 0x18) connect$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r2, 0x29, 0x37, 0x0, 0x0) sendmmsg$inet6(r2, &(0x7f0000001700)=[{{0x0, 0x10000000, 0x0, 0x0, 0x0, 0x0, 0xfc}, 0x1030000}], 0x40000000000035c, 0x0) bpf$MAP_GET_NEXT_KEY(0x4, 0x0, 0x0) sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, 0x0, 0x0) fallocate(0xffffffffffffffff, 0x100000011, 0x0, 0x0) syz_open_dev$usbfs(0x0, 0x0, 0x80402) 21:00:45 executing program 2: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x24, &(0x7f00000004c0)={0x3f}, 0x4) [ 371.827272][ T23] usb 1-1: USB disconnect, device number 3 21:00:45 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r0, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000140)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000004c0)={0x11, 0x9, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x7fffffff}, [@call={0x85, 0x0, 0x0, 0x51}, @ldst={0x0, 0x0, 0x6, 0x2, 0x0, 0xc, 0x10}, @jmp={0x5, 0x0, 0x2, 0x0, 0x4, 0x30, 0xffffffffffffffff}, @map_idx_val={0x18, 0x0, 0x6, 0x0, 0xf}, @exit]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x5e, &(0x7f0000000540)=""/94, 0x0, 0x2, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000280)={0x0, 0x0, 0x2}, 0x10}, 0x80) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f00000000c0)={0xffffffffffffffff, 0x0, 0x0}, 0x10) r2 = socket$inet6(0xa, 0x802, 0x0) setsockopt$inet6_buf(r2, 0x29, 0x39, &(0x7f0000000040)="ff0204000000000100000000000000000000000000000205", 0x18) connect$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r2, 0x29, 0x37, &(0x7f00000000c0), 0x8) sendmmsg$inet6(r2, &(0x7f0000001700)=[{{0x0, 0x10000000, 0x0, 0x0, 0x0, 0x0, 0xfc}, 0x1030000}], 0x40000000000035c, 0x0) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000380)={0xffffffffffffffff, &(0x7f0000000440)="38b0d9f4e3dfd41fbdbb24327092e6acafd1864fee8c93beed41d2125d7ec59508c7f7e67657c0bafeab417567e7c1fc6dc941a6d8230c89bc2fce2a5b8e3f383f7c498d6d08c30c2b3668b681411d930112509a2ae614157ed893f73923245353ab5f5f2de508361904e11cc06e132b60a1ea59", &(0x7f0000001740)=""/4096}, 0x20) sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, &(0x7f0000000680)={0x0, 0x0, &(0x7f0000000640)={&(0x7f00000001c0)=ANY=[@ANYBLOB], 0x2c}, 0x1, 0x0, 0x0, 0x400}, 0x0) fallocate(0xffffffffffffffff, 0x100000011, 0xff970000, 0x2811fdff) r3 = syz_open_dev$usbfs(&(0x7f0000000200), 0x4c, 0x80402) ioctl$FS_IOC_SETFSLABEL(r3, 0x41009432, 0x0) syz_clone3(0x0, 0x0) 21:00:45 executing program 5: socket$inet6_udp(0xa, 0x2, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x9, 0x8b}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x2) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='memory.events\x00', 0x26e1, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) splice(r1, 0x0, r3, 0x0, 0x100000800ff04, 0x0) clock_gettime(0x0, &(0x7f0000000140)={0x0, 0x0}) signalfd(0xffffffffffffffff, &(0x7f0000000000), 0x8) pselect6(0x40, &(0x7f0000000240), 0x0, &(0x7f0000000040)={0x1ff}, &(0x7f00000001c0)={0x0, r4+30000000}, 0x0) write$binfmt_misc(r2, &(0x7f0000000240)=ANY=[], 0xfffffc8f) 21:00:45 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendmsg$AUDIT_SET_FEATURE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={0x0}}, 0x24008005) 21:00:45 executing program 2: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @dev, 0xa}, 0x1c) 21:00:45 executing program 4: add_key$fscrypt_v1(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffc) r0 = add_key$fscrypt_v1(&(0x7f00000001c0), &(0x7f0000000280)={'fscrypt:', @auto=[0x61, 0x63, 0x61, 0x30, 0x62, 0x31, 0x35, 0x37, 0x63, 0x33, 0x65, 0x30, 0x66]}, &(0x7f00000002c0)={0x0, "92d171efbfbd0d03e555f217efca05ab0de6ca4c3b5124d31eb87c5d50825cafe43c9cacecc0c61065dad25feed1a25101663b791eab58ca2cf5aa0e03ac62e0"}, 0x48, 0xffffffffffffffff) add_key$fscrypt_provisioning(&(0x7f0000000040), 0x0, 0x0, 0x0, r0) socket$inet_icmp_raw(0x2, 0x3, 0x1) [ 372.100844][ T3692] usb 6-1: USB disconnect, device number 5 21:00:45 executing program 0: bpf$MAP_CREATE(0x0, &(0x7f00000002c0)=@base={0x0, 0x0, 0x0, 0x0, 0x84, 0x1, 0x1}, 0x48) 21:00:45 executing program 4: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000080)='/proc/bus/input/handlers\x00', 0x0, 0x0) read$FUSE(r0, 0x0, 0x0) 21:00:45 executing program 0: r0 = socket$igmp(0x2, 0x3, 0x2) setsockopt$inet_buf(r0, 0x0, 0x2b, 0x0, 0x0) 21:00:45 executing program 4: r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$ARPT_SO_GET_ENTRIES(r0, 0x0, 0x29, &(0x7f0000000780), &(0x7f0000000840)=0x24) 21:00:45 executing program 0: r0 = socket$igmp(0x2, 0x3, 0x2) setsockopt$inet_mreq(r0, 0x0, 0x24, &(0x7f0000000000)={@empty, @remote}, 0x8) 21:00:46 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x3c, &(0x7f00000004c0), 0x4) 21:00:46 executing program 4: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000600)={&(0x7f0000000380)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xd, 0xd, 0x2, [@datasec={0x0, 0x0, 0x0, 0xf, 0x1, [], "be"}]}}, &(0x7f0000002880)=""/4096, 0x2a, 0x1000, 0x1}, 0x20) 21:00:46 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) read$FUSE(r0, &(0x7f0000001440)={0x2020}, 0x2020) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=@ipv6_delrule={0x1c, 0x1e, 0x1, 0x0, 0x0, {0x2}}, 0x1c}}, 0x0) 21:00:46 executing program 2: futex(0x0, 0xb, 0x0, 0x0, &(0x7f0000000340), 0x0) 21:00:46 executing program 5: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000240)='/proc/stat\x00', 0x0, 0x0) sendmsg$AUDIT_GET(r0, 0x0, 0x0) 21:00:46 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r0, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000140)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000004c0)={0x11, 0x9, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x7fffffff}, [@call={0x85, 0x0, 0x0, 0x51}, @ldst={0x0, 0x0, 0x6, 0x2, 0x0, 0xc, 0x10}, @jmp={0x5, 0x0, 0x2, 0x0, 0x4, 0x30, 0xffffffffffffffff}, @map_idx_val={0x18, 0x0, 0x6, 0x0, 0xf}, @exit]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x5e, &(0x7f0000000540)=""/94, 0x0, 0x2, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000280)={0x0, 0x0, 0x2}, 0x10}, 0x80) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f00000000c0)={0xffffffffffffffff, 0x0, 0x0}, 0x10) r2 = socket$inet6(0xa, 0x802, 0x0) setsockopt$inet6_buf(r2, 0x29, 0x39, &(0x7f0000000040)="ff0204000000000100000000000000000000000000000205", 0x18) connect$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r2, 0x29, 0x37, &(0x7f00000000c0), 0x8) sendmmsg$inet6(r2, &(0x7f0000001700)=[{{0x0, 0x10000000, 0x0, 0x0, 0x0, 0x0, 0xfc}, 0x1030000}], 0x40000000000035c, 0x0) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000380)={0xffffffffffffffff, &(0x7f0000000440)="38b0d9f4e3dfd41fbdbb24327092e6acafd1864fee8c93beed41d2125d7ec59508c7f7e67657c0bafeab417567e7c1fc6dc941a6d8230c89bc2fce2a5b8e3f383f7c498d6d08c30c2b3668b681411d930112509a2ae614157ed893f73923245353ab5f5f2de508361904e11cc06e132b60a1ea59", &(0x7f0000001740)=""/4096}, 0x20) sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, &(0x7f0000000680)={0x0, 0x0, &(0x7f0000000640)={&(0x7f00000001c0)=ANY=[@ANYBLOB], 0x2c}, 0x1, 0x0, 0x0, 0x400}, 0x0) fallocate(0xffffffffffffffff, 0x100000011, 0xff970000, 0x2811fdff) r3 = syz_open_dev$usbfs(&(0x7f0000000200), 0x4c, 0x80402) ioctl$FS_IOC_SETFSLABEL(r3, 0x41009432, 0x0) syz_clone3(0x0, 0x0) 21:00:46 executing program 5: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r0, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(0xffffffffffffffff, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000140)={0x38}, 0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f00000000c0)={0xffffffffffffffff, 0x0, 0x0}, 0x10) r2 = socket$inet6(0xa, 0x802, 0x0) setsockopt$inet6_buf(r2, 0x29, 0x39, &(0x7f0000000040)="ff0204000000000100000000000000000000000000000205", 0x18) connect$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r2, 0x29, 0x37, &(0x7f00000000c0), 0x8) sendmmsg$inet6(r2, &(0x7f0000001700)=[{{0x0, 0x10000000, 0x0, 0x0, 0x0, 0x0, 0xfc}, 0x1030000}], 0x40000000000035c, 0x0) sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, &(0x7f0000000680)={0x0, 0x0, &(0x7f0000000640)={&(0x7f00000001c0)=ANY=[@ANYBLOB, @ANYRES16=0x0], 0x2c}, 0x1, 0x0, 0x0, 0x400}, 0x0) fallocate(0xffffffffffffffff, 0x100000011, 0xff970000, 0x2811fdff) syz_open_dev$usbfs(&(0x7f0000000200), 0x4c, 0x80402) 21:00:46 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x34, &(0x7f00000004c0), 0x4) 21:00:46 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$ARPT_SO_GET_ENTRIES(r0, 0x0, 0x12, 0x0, &(0x7f0000000840)) 21:00:46 executing program 4: socketpair(0x2c, 0x3, 0x0, &(0x7f0000000080)) 21:00:46 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCETHTOOL(r0, 0x890d, 0x0) 21:00:46 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)=@ipv6_delroute={0x3c, 0x19, 0xa19, 0x0, 0x0, {}, [@RTA_METRICS={0x4}, @RTA_GATEWAY={0x14, 0x5, @loopback}, @RTA_PRIORITY={0x8, 0x6, 0x2}]}, 0x3c}}, 0x0) 21:00:46 executing program 2: syz_usb_connect$uac1(0x2, 0x71, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x40, 0x1d6b, 0x101, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5f, 0x3, 0x1, 0x0, 0x0, 0x0, {{}, {}, {0x9, 0x4, 0x1, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, {}, {{0x9, 0x5, 0x1, 0x9, 0x0, 0x0, 0x0, 0x0, {0x7}}}}, {}, {0x9, 0x4, 0x2, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, {}, {{0x9, 0x5, 0x82, 0x9, 0x0, 0x0, 0x0, 0x0, {0x7}}}}}}}]}}, 0x0) 21:00:46 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000080)=@ipv6_delrule={0x24, 0x12, 0x1, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x2, 0x2}, [@FIB_RULE_POLICY=@FRA_L3MDEV={0x5}]}, 0x24}}, 0x0) 21:00:46 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCETHTOOL(r0, 0x8937, &(0x7f00000001c0)={'ip_vti0\x00', 0x0}) 21:00:46 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x1, &(0x7f00000004c0), 0x4) 21:00:47 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x14, &(0x7f00000004c0), 0x4) [ 373.691753][T10113] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.4'. [ 373.938213][ T15] usb 3-1: new full-speed USB device number 5 using dummy_hcd [ 374.308952][ T15] usb 3-1: config 1 contains an unexpected descriptor of type 0x1, skipping [ 374.320455][ T15] usb 3-1: config 1 has an invalid descriptor of length 1, skipping remainder of the config [ 374.338883][ T15] usb 3-1: config 1 has 1 interface, different from the descriptor's value: 3 [ 374.508417][ T15] usb 3-1: New USB device found, idVendor=1d6b, idProduct=0101, bcdDevice= 0.40 [ 374.520196][ T15] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 374.532200][ T15] usb 3-1: Product: syz [ 374.539144][ T15] usb 3-1: Manufacturer: syz [ 374.546591][ T15] usb 3-1: SerialNumber: syz 21:00:47 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r0, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000140)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000004c0)={0x11, 0x9, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x7fffffff}, [@call={0x85, 0x0, 0x0, 0x51}, @ldst={0x0, 0x0, 0x6, 0x2, 0x0, 0xc, 0x10}, @jmp={0x5, 0x0, 0x2, 0x0, 0x4, 0x30, 0xffffffffffffffff}, @map_idx_val={0x18, 0x0, 0x6, 0x0, 0xf}, @exit]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x5e, &(0x7f0000000540)=""/94, 0x0, 0x2, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000280)={0x0, 0x0, 0x2}, 0x10}, 0x80) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f00000000c0)={0xffffffffffffffff, 0x0, 0x0}, 0x10) r2 = socket$inet6(0xa, 0x802, 0x0) setsockopt$inet6_buf(r2, 0x29, 0x39, &(0x7f0000000040)="ff0204000000000100000000000000000000000000000205", 0x18) connect$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r2, 0x29, 0x37, &(0x7f00000000c0), 0x8) sendmmsg$inet6(r2, &(0x7f0000001700)=[{{0x0, 0x10000000, 0x0, 0x0, 0x0, 0x0, 0xfc}, 0x1030000}], 0x40000000000035c, 0x0) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000380)={0xffffffffffffffff, &(0x7f0000000440)="38b0d9f4e3dfd41fbdbb24327092e6acafd1864fee8c93beed41d2125d7ec59508c7f7e67657c0bafeab417567e7c1fc6dc941a6d8230c89bc2fce2a5b8e3f383f7c498d6d08c30c2b3668b681411d930112509a2ae614157ed893f73923245353ab5f5f2de508361904e11cc06e132b60a1ea59", &(0x7f0000001740)=""/4096}, 0x20) sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, &(0x7f0000000680)={0x0, 0x0, &(0x7f0000000640)={&(0x7f00000001c0)=ANY=[@ANYBLOB], 0x2c}, 0x1, 0x0, 0x0, 0x400}, 0x0) fallocate(0xffffffffffffffff, 0x100000011, 0xff970000, 0x2811fdff) r3 = syz_open_dev$usbfs(&(0x7f0000000200), 0x4c, 0x80402) ioctl$FS_IOC_SETFSLABEL(r3, 0x41009432, 0x0) syz_clone3(0x0, 0x0) 21:00:47 executing program 4: add_key$fscrypt_v1(&(0x7f0000000040), 0x0, &(0x7f00000000c0)={0x0, "69526af833f91b5eaef02cc411f53fedbfa65a4c8b49a720b70e69d0048144e25e5252aa3a83510d26a2b08d93c58c0e77e0fe15adab4f2d5a271cc90af92c0b"}, 0x48, 0xfffffffffffffffb) 21:00:47 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCETHTOOL(r0, 0x8949, &(0x7f00000001c0)={'ip_vti0\x00', 0x0}) 21:00:47 executing program 0: add_key$fscrypt_v1(&(0x7f00000001c0), &(0x7f0000000280), &(0x7f00000002c0)={0x0, "92d171efbfbd0d03e555f217efca05ab0de6ca4c3b5124d31eb87c5d50825cafe43c9cacecc0c61065dad25feed1a25101663b791eab58ca2cf5aa0e03ac62e0"}, 0x48, 0xffffffffffffffff) 21:00:47 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCETHTOOL(r0, 0x8971, &(0x7f00000001c0)={'ip_vti0\x00', 0x0}) 21:00:47 executing program 5: futex(&(0x7f0000000000), 0xc, 0x1, 0x0, &(0x7f0000000080), 0x0) 21:00:48 executing program 0: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_SET_FEATURE(r0, &(0x7f00000001c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x20}, 0x20}}, 0x0) [ 374.878339][ T15] usb 3-1: 0:2 : does not exist [ 374.934466][ T15] usb 3-1: USB disconnect, device number 5 21:00:48 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000080)=@ipv6_delrule={0x1c, 0x18, 0x1, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5}}, 0x1c}}, 0x0) 21:00:48 executing program 1: r0 = open$dir(&(0x7f0000000000)='./file0\x00', 0x200, 0x0) mmap(&(0x7f0000fee000/0x12000)=nil, 0x12000, 0x0, 0x2012, r0, 0x0) 21:00:48 executing program 5: futex(0x0, 0xc, 0x1, 0x0, &(0x7f0000000080), 0x0) 21:00:48 executing program 0: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_IP_IPSEC_POLICY(r0, 0x0, 0x10, &(0x7f0000000080)={{{@in=@empty, @in6=@private2}}, {{@in6=@private1}, 0x0, @in=@empty}}, 0xe8) 21:00:48 executing program 2: r0 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r0, &(0x7f00000059c0)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f0000007a00)={0x2020}, 0x2020) 21:00:48 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r0, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000140)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000004c0)={0x11, 0x9, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x7fffffff}, [@call={0x85, 0x0, 0x0, 0x51}, @ldst={0x0, 0x0, 0x6, 0x2, 0x0, 0xc, 0x10}, @jmp={0x5, 0x0, 0x2, 0x0, 0x4, 0x30, 0xffffffffffffffff}, @map_idx_val={0x18, 0x0, 0x6, 0x0, 0xf}, @exit]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x5e, &(0x7f0000000540)=""/94, 0x0, 0x2, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000280)={0x0, 0x0, 0x2}, 0x10}, 0x80) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f00000000c0)={0xffffffffffffffff, 0x0, 0x0}, 0x10) r2 = socket$inet6(0xa, 0x802, 0x0) setsockopt$inet6_buf(r2, 0x29, 0x39, &(0x7f0000000040)="ff0204000000000100000000000000000000000000000205", 0x18) connect$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r2, 0x29, 0x37, &(0x7f00000000c0), 0x8) sendmmsg$inet6(r2, &(0x7f0000001700)=[{{0x0, 0x10000000, 0x0, 0x0, 0x0, 0x0, 0xfc}, 0x1030000}], 0x40000000000035c, 0x0) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000380)={0xffffffffffffffff, &(0x7f0000000440)="38b0d9f4e3dfd41fbdbb24327092e6acafd1864fee8c93beed41d2125d7ec59508c7f7e67657c0bafeab417567e7c1fc6dc941a6d8230c89bc2fce2a5b8e3f383f7c498d6d08c30c2b3668b681411d930112509a2ae614157ed893f73923245353ab5f5f2de508361904e11cc06e132b60a1ea59", &(0x7f0000001740)=""/4096}, 0x20) sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, &(0x7f0000000680)={0x0, 0x0, &(0x7f0000000640)={&(0x7f00000001c0)=ANY=[@ANYBLOB], 0x2c}, 0x1, 0x0, 0x0, 0x400}, 0x0) fallocate(0xffffffffffffffff, 0x100000011, 0xff970000, 0x2811fdff) r3 = syz_open_dev$usbfs(&(0x7f0000000200), 0x4c, 0x80402) ioctl$FS_IOC_SETFSLABEL(r3, 0x41009432, 0x0) syz_clone3(0x0, 0x0) 21:00:48 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000002880)=@raw={'raw\x00', 0x9, 0x3, 0x420, 0x0, 0xffffffff, 0xffffffff, 0x160, 0xffffffff, 0x350, 0xffffffff, 0xffffffff, 0x350, 0xffffffff, 0x3, 0x0, {[{{@uncond, 0x0, 0xf8, 0x160, 0x0, {}, [@common=@ipv6header={{0x28}}, @common=@hl={{0x28}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, 'syz0\x00', 'syz1\x00'}}}, {{@ipv6={@private2, @private0, [], [], 'vcan0\x00', 'team_slave_0\x00'}, 0x0, 0x1b0, 0x1f0, 0x0, {}, [@common=@inet=@recent1={{0x108}, {0x73, 0x0, 0x0, 0x0, 'syz1\x00'}}]}, @common=@inet=@LOG={0x40, 'LOG\x00', 0x0, {0x0, 0x0, "bfec3f8482e0c7d646cd6053eb3664611bbc70756f21d0f2b277aecce023"}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x480) 21:00:48 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x1e, 0x1, 0x0, 0x0, {}, [@FRA_DST={0x14, 0x1, @dev}]}, 0x30}}, 0x0) 21:00:48 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x1b, &(0x7f00000004c0), 0x4) 21:00:48 executing program 1: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/tty/ldiscs\x00', 0x0, 0x0) read$FUSE(r0, 0x0, 0x0) 21:00:48 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) read$FUSE(r0, &(0x7f0000001440)={0x2020}, 0x2020) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=@ipv6_delrule={0x1c, 0x1a, 0x1, 0x0, 0x0, {0x2}}, 0x1c}}, 0x0) 21:00:49 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCETHTOOL(r0, 0x8955, &(0x7f00000001c0)={'ip_vti0\x00', 0x0}) 21:00:49 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x1, &(0x7f00000004c0)={0x3f}, 0x4) 21:00:49 executing program 1: setitimer(0x0, &(0x7f0000000000)={{}, {0xffffffff}}, 0x0) setitimer(0x0, &(0x7f00000001c0), 0x0) 21:00:49 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000002880)=@raw={'raw\x00', 0x9, 0x3, 0x420, 0x0, 0xffffffff, 0xffffffff, 0x160, 0xffffffff, 0x350, 0xffffffff, 0xffffffff, 0x350, 0xffffffff, 0x3, 0x0, {[{{@uncond, 0x0, 0xf8, 0x160, 0x0, {}, [@common=@ipv6header={{0x28}}, @common=@hl={{0x28}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, 'syz0\x00', 'syz1\x00'}}}, {{@ipv6={@private2, @private0, [], [], 'vcan0\x00', 'team_slave_0\x00'}, 0x0, 0x1b0, 0x1f0, 0x0, {}, [@common=@inet=@recent1={{0x108}, {0x73, 0x0, 0x0, 0x0, 'syz1\x00'}}]}, @common=@inet=@LOG={0x40, 'LOG\x00', 0x0, {0x0, 0x0, "bfec3f8482e0c7d646cd6053eb3664611bbc70756f21d0f2b277aecce023"}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x480) 21:00:49 executing program 2: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @dev, 0x9}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x48c0, 0x0, 0x0) [ 375.734392][T10156] x_tables: duplicate underflow at hook 3 21:00:49 executing program 5: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCETHTOOL(r0, 0x8942, &(0x7f00000001c0)={'ip_vti0\x00', 0x0}) [ 375.851726][T10168] x_tables: duplicate underflow at hook 3 21:00:50 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=@ipv6_delrule={0x1c, 0x1e, 0x1, 0x0, 0x0, {0xc}}, 0x1c}}, 0x0) 21:00:50 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) ioctl$TUNGETVNETHDRSZ(r0, 0x800454d7, 0x0) 21:00:50 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x23, &(0x7f00000004c0), 0x4) 21:00:50 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000002880)=@raw={'raw\x00', 0x9, 0x3, 0x420, 0x0, 0xffffffff, 0xffffffff, 0x160, 0xffffffff, 0x350, 0xffffffff, 0xffffffff, 0x350, 0xffffffff, 0x3, 0x0, {[{{@uncond, 0x0, 0xf8, 0x160, 0x0, {}, [@common=@ipv6header={{0x28}}, @common=@hl={{0x28}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, 'syz0\x00', 'syz1\x00'}}}, {{@ipv6={@private2, @private0, [], [], 'vcan0\x00', 'team_slave_0\x00'}, 0x0, 0x1b0, 0x1f0, 0x0, {}, [@common=@inet=@recent1={{0x108}, {0x73, 0x0, 0x0, 0x0, 'syz1\x00'}}]}, @common=@inet=@LOG={0x40, 'LOG\x00', 0x0, {0x0, 0x0, "bfec3f8482e0c7d646cd6053eb3664611bbc70756f21d0f2b277aecce023"}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x480) 21:00:50 executing program 5: r0 = socket$netlink(0x10, 0x3, 0xa) sendmsg$IPCTNL_MSG_CT_GET_CTRZERO(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x3, 0x1, 0x0, 0x0, 0x0, {}, [@CTA_MARK={0x8}, @CTA_TIMEOUT={0x8}]}, 0x24}}, 0x0) 21:00:50 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x18, 0x12, &(0x7f0000000080)=@framed={{}, [@map_fd, @initr0, @map_fd, @map_val={0x18, 0x0, 0x2, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x3f}, @map_fd, @generic, @ldst={0x2, 0x2, 0x3, 0x0, 0x8, 0xffffffffffffffff, 0xfffffffffffffff0}, @func={0x85, 0x0, 0x1, 0x0, 0xfffffffffffffffc}, @initr0]}, &(0x7f0000000140)='GPL\x00', 0x7, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 21:00:50 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_icmp_ICMP_FILTER(r0, 0x1, 0x35, &(0x7f00000004c0), 0x4) 21:00:50 executing program 1: r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$ARPT_SO_GET_ENTRIES(r0, 0x0, 0x22, 0x0, &(0x7f0000000840)) 21:00:50 executing program 2: bpf$BPF_PROG_GET_NEXT_ID(0xb, 0x0, 0xb2) 21:00:50 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000002880)=@raw={'raw\x00', 0x9, 0x3, 0x420, 0x0, 0xffffffff, 0xffffffff, 0x160, 0xffffffff, 0x350, 0xffffffff, 0xffffffff, 0x350, 0xffffffff, 0x3, 0x0, {[{{@uncond, 0x0, 0xf8, 0x160, 0x0, {}, [@common=@ipv6header={{0x28}}, @common=@hl={{0x28}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, 'syz0\x00', 'syz1\x00'}}}, {{@ipv6={@private2, @private0, [], [], 'vcan0\x00', 'team_slave_0\x00'}, 0x0, 0x1b0, 0x1f0, 0x0, {}, [@common=@inet=@recent1={{0x108}, {0x73, 0x0, 0x0, 0x0, 'syz1\x00'}}]}, @common=@inet=@LOG={0x40, 'LOG\x00', 0x0, {0x0, 0x0, "bfec3f8482e0c7d646cd6053eb3664611bbc70756f21d0f2b277aecce023"}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x480) 21:00:50 executing program 3: socket$inet6_udp(0xa, 0x2, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x9, 0x8b}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x2) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='memory.events\x00', 0x26e1, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) splice(r1, 0x0, r3, 0x0, 0x100000800ff04, 0x0) clock_gettime(0x0, &(0x7f0000000140)) signalfd(0xffffffffffffffff, &(0x7f0000000000), 0x8) pselect6(0x40, &(0x7f0000000240), 0x0, &(0x7f0000000040)={0x1ff}, 0x0, 0x0) write$binfmt_misc(r2, &(0x7f0000000240)=ANY=[], 0xfffffc8f) 21:00:50 executing program 5: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/cpuinfo\x00', 0x0, 0x0) read$FUSE(r0, 0x0, 0x0) [ 376.770614][T10184] x_tables: duplicate underflow at hook 3 21:00:50 executing program 1: syz_emit_ethernet(0xfbf, &(0x7f0000001140)=ANY=[@ANYBLOB="aaaaaaaaaaaa62fcb53b395986dd606b8b3a0f89000000000000000000000000ffffac1400bb0000000000000001"], 0x0) 21:00:50 executing program 2: mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) munmap(&(0x7f0000ffa000/0x4000)=nil, 0x4000) mprotect(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0) 21:00:50 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) sendmsg$unix(r2, &(0x7f00000001c0)={0x0, 0x0, 0x0}, 0x0) dup2(r0, r1) 21:00:50 executing program 4: mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) msync(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x4) 21:00:50 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) sendmsg$unix(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)=[{&(0x7f0000000080)="3470ad8d6e865f94c420527dfee3a14cfe80fad5cb333806f1bca20092fcc8af39989d1029ff9af575ad61fa61ecd326cb31a41ceee4a99fe7cd4338de4510d921d8d624a369b998060e8d51a11ca17710899c3196f920c88d24b8361bf0a6c18a98672ef325a8d2c7227489289a74cefb80669aee5c03446805e7f4c62f65d971e91a49657b4902c29d5b839c2efbb660", 0x91}], 0x1}, 0x0) dup2(r0, r1) [ 376.875053][T10197] x_tables: duplicate underflow at hook 3 21:00:50 executing program 1: mprotect(&(0x7f0000ffe000/0x1000)=nil, 0x1000, 0x0) mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) munmap(&(0x7f0000ffa000/0x4000)=nil, 0x4000) 21:00:50 executing program 5: syz_emit_ethernet(0x5ce, &(0x7f0000000500)={@random="f75453f3282a", @local, @val, {@ipv6}}, 0x0) 21:00:50 executing program 2: socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000000780)={0x0, 0x0, &(0x7f0000000500)=[{&(0x7f00000001c0)="70ec05d1c0776f4aca4f1bd2690b04168c04665b0a76759bdf62512493ef4b757027285699e1cc76eafb6762571c15ee62344d11a36ec40bdf500bf2c9b10bf30d13a7d1245b4d9f161a18583ba4ac7baef75970f9793c6eac18138e9333d65c7fcc0eb4c40cd14936c71cb9f0bbe4ac6609c2e0e38cc35c2307829d305a4ad8eb4e3a5cff4226051daf8c43361b140ca9f8b64855e12928bac19751ae51ddf77176801aa987909e50c6d4846c6999c8314cc12c", 0xb4}, {&(0x7f0000000280)="673e33aa673661b1fd877ca9e10049e865b89f9341b18e6b848568cf82f2887556328e83e1230fb9c5289b0cb453fe55dd51a41eb0dd8cf08e552a41620e32d18468c39cff294793e9f25f39", 0x4c}, {&(0x7f0000000300)="df7c1940d909947b092884cbfbbd9da8ea1ca0002d2c7922b2b87166362f1e11697bacd28dd93e1357eee2274bb40dfd3f9e3065e7100f1582d630bec9cd094519938722a9e2b23a1edef806065b5adc998d572995205288d5e0ff746cf95f4667fcd4cef0f8356ef556d6006bbebacfd2", 0x71}], 0x3}, 0x0) 21:00:50 executing program 4: syz_emit_ethernet(0x4a, &(0x7f0000000080)={@local, @random="62fcb53b3959", @val, {@ipv6}}, 0x0) 21:00:50 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000001300)=[{&(0x7f0000000100)="05ee72dc366412b30da590c8b84d", 0xe}, {&(0x7f0000001380)="2c4b0f0d73c9f701000000000000806ba1ae83e54c77b7cbf64dc84e24c3b9b7575032486ae28a61e963023af9a42a0d6c194d8b87b880d4cd2ad74975fb1b733fd017b99e3f194822368c2ed6be62705c76db97636d9a3d7d086177122dfc735f86ea7b7b1d4f2aab2dfe8f2b59749420e19d3702368c14d4ea4795cd025042821eb1", 0x83}], 0x2}, 0x408) 21:00:50 executing program 3: socket$inet6_udp(0xa, 0x2, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x9, 0x8b}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x2) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='memory.events\x00', 0x26e1, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) splice(r1, 0x0, r3, 0x0, 0x100000800ff04, 0x0) clock_gettime(0x0, &(0x7f0000000140)) signalfd(0xffffffffffffffff, &(0x7f0000000000), 0x8) pselect6(0x40, &(0x7f0000000240), 0x0, &(0x7f0000000040)={0x1ff}, 0x0, 0x0) write$binfmt_misc(r2, &(0x7f0000000240)=ANY=[], 0xfffffc8f) 21:00:50 executing program 1: syz_emit_ethernet(0x2a, &(0x7f0000000080)=ANY=[@ANYBLOB="aaaaaaaaaaaa"], 0x0) 21:00:50 executing program 5: syz_emit_ethernet(0x3e, &(0x7f0000001040)={@broadcast, @broadcast, @val, {@ipv6}}, 0x0) 21:00:50 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000200)={0xffffffffffffffff}) r1 = getpid() fcntl$setown(r0, 0x6, r1) fcntl$setown(r0, 0x6, r1) 21:00:50 executing program 4: syz_emit_ethernet(0x1fbf, &(0x7f0000001040)={@remote, @remote, @val, {@ipv6}}, 0x0) 21:00:50 executing program 0: syz_emit_ethernet(0xae, &(0x7f0000001040)={@broadcast, @broadcast, @val, {@ipv6}}, 0x0) 21:00:50 executing program 2: writev(0xffffffffffffffff, &(0x7f0000000a40)=[{&(0x7f0000000200)="563b57a864ccff66bcb7e5565cba1fca3f5e9ba98ed2ebded5c2f2d0420ccdafa2dc5472fdccf5f01f993bfb92aeb84ef0d3ec6c830251bcf3564d6902f22b86862b14b260737b78081ecd341324a1032507e0968a2209ceabc1484a52a87036ca1849c41bdfd79fca6b69cd20d84df1b73fad8423411d19de84d0f8e1d57117546b379e040203bb26bb7b4c8e2c1ce52ba2", 0x92}, {&(0x7f0000000880)="851dd30f8442bff28285229e647c031b0386c9922edd0fe6774ae28d7c2d2be203db2d31748d83dfb2f076039adaa49f6406566f3f5082299989c2765e8686ab95ac36e21809ea2afba300ffaf5560a6283002cbaafa75f5e1a4631ed8d1d419b2bd17d6898cb286d91bf9a3b9a473f3641bc4e00a8c1a96560b65917eedf09aa0a14a964d422d0b6ae06ef2", 0x8c}, {&(0x7f0000000380)="4769cb194661e130eac6d30d93011e434f0d03e667e72c5e0070d4819c7cd8b6cc3d3364765f1f94323a766ba922e9ebdc9a7aa79cb51e8c4a3f6a402a43de5aeabaf802216e912ff9fe90bc215ebc2fa80853c61b0dcc9ef2cf17877239024e66d842e6a40a0271e2c5c804fddd46e371387d252c601ae62afde1f72858838e4a7a50b2243d52577ff1927c7e4b817b06727716c3354c4bd0c91d929dcdede55cacbd9382ff6404e5cb16bb2ec055bf138c1b031327d105000000", 0xbb}, {&(0x7f0000000440)="bde99d3d10cfe4bd7edf931427f7c2c8bad4e0eecfdf616f50de1c82b98a3a285b228e23cdb32ccac260df57df6212ff32ebed25741f333d14dda4246af6257dc8cba56f47d36d711c1690bda06141fc67d23c2273d340ce5b928033b350bb0d23f610ae5cccab38afe33b86a5128976a2bd3729f44561bae31c74bacdcda600ca4db7dc00375f820b7a466a0aa99fc6ed6d2dd699cec5143fd43cc7ad32b980c3fdfb9ef97300153e7952c35162b5b13487ff2e", 0xb4}, {&(0x7f0000000500)="86e6281f8ba06d561194579cd4fc97684885c549de557c87d22906a0545026c8bac1686ca98315e912e1ae7ca58cb0c8158bb35b4d55bb25799bdf70de6e9d984cd02b628c87867dcd8077af426b17efdff46b6e0be0ed1bb5c5496fbb102053277d70611936c55b3eccd6d767b8610d3f7f36566765470768543d256950ff27ba6aa213d0cee3fceca3d250f37ce45e83c03d772ee7e055ab03746051a52aeb765c471233bea010965c0dfb6d253e7d3a4451742497d2298de13ca9cdc5335538ea35bc577f48", 0xc7}, {&(0x7f0000000600)="952252edd050edd57a727f1f5e4b93f164ee59279784a1af17e527d8fcfea78134d7f8efdf2fa744299b0fd44033b7b921c7ff84615a2c733fe92644edde8e6800c433937a36e61a186295f74a8f3ffc71f1167c984c87d4d005b31f80c0652c13c19957729559eabb67fc65a574a6428ab6cf0b65f3afb996b6cd301a8329767826534fa71abe79314648b6846775f5d9fa3e8de668a10331bec58bd180973311cbeac1829769eab6bdade900e3eedb9ac4bdc3641fa0c27f9b5a4d305ec3961493e57dccd87146861144e263c56f91e2824127df8c3cc5ae3839a672951295a1b171218ae76a55f05b", 0x5e}, {&(0x7f0000000700)="68cb6b3cfcca4c86aece1861d42dafd1fa84af6f5f7780f21a1899ca8c9cb99247fe18d7ba9672210e64ca7a9edd7644dc145f96d3362c9409a1b840d586891af86579be574acc2fae8b3ac45d4e5f904e56aec9cf24cb3099090faec58e39ce64804ca029b478f43519038ed230629d4b598db44df24edb1a58011b3a0f5cbf", 0x80}, {&(0x7f0000000b00)="59ea5a671d86d52e2682142efe1b45603e28b0430b7a31280b59072fe6ccb8b176a7292a162d00e698bce7b50d96fccc91adf6d5f52eed674c10134212a3aa9dd4651b11893c59d2575f40c2d312c598573f516e8c7aab541dccf01572aaf9a307f201821519a99da81299ca603145e74025ed5916bf80a734ba1827c2275b5c055cc19174b164dab70992ff87be35a242a3b52c5ac62d056ec83974b6394fc1d5d8b077a8ac85baac9a5a7fb67eebd069cb367bd0a4cea10067194cfa88aca0c8166ad379d0645542a886becbf0e088c0e779", 0xfffffffffffffe1b}, {&(0x7f00000009c0)="f2dcaee8f520891d2f92579694572169843fcc0544d704fb4f166ef31785c9e20a93750ef18eae313cbe7b0d748ad37dca6fe742130c5b66c8e2aa52d93a96c4caffc936565561b5d466283ead129d38ed7112329ef50d7535010000000000000019492eb331444c936ddae4f1461e32d5261ee1", 0x74}, {&(0x7f0000000040)="8f217d02bd6c0030940378d0bd5e6dbd8da7e327143953c5e53679554f53274ab7613b33410aeafd0b", 0x29}], 0xa) 21:00:51 executing program 4: mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) mprotect(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x4) 21:00:51 executing program 1: mlock(&(0x7f0000ffc000/0x2000)=nil, 0x2000) munmap(&(0x7f0000ffd000/0x1000)=nil, 0x1000) 21:00:51 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) sendmsg$unix(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)=[{&(0x7f0000000080)="3470ad8d6e865f94c420527dfee3a14cfe80fad5cb333806f1bca20092fcc8af39989d1029ff9af575ad61fa61ecd326cb31a41ceee4a99fe7cd4338de4510d921d8d624a369b998060e8d51a11ca17710899c3196f920c88d24b8361bf0a6c18a98672ef325a8d2c7227489289a74cefb80669aee5c03446805e7f4c62f65d971e91a49657b4902c29d5b839c2efbb660", 0xfffffffffffffe5d}], 0x1}, 0x0) 21:00:51 executing program 5: syz_emit_ethernet(0x46, &(0x7f0000001040)={@broadcast, @broadcast, @val, {@ipv6}}, 0x0) 21:00:51 executing program 1: syz_emit_ethernet(0x3e, &(0x7f0000001040)={@broadcast, @broadcast, @val, {@ipv6}}, 0x0) [ 377.819420][ T1235] ieee802154 phy0 wpan0: encryption failed: -22 [ 377.826261][ T1235] ieee802154 phy1 wpan1: encryption failed: -22 21:00:51 executing program 3: socket$inet6_udp(0xa, 0x2, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x9, 0x8b}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x2) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='memory.events\x00', 0x26e1, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) splice(r1, 0x0, r3, 0x0, 0x100000800ff04, 0x0) clock_gettime(0x0, &(0x7f0000000140)) signalfd(0xffffffffffffffff, &(0x7f0000000000), 0x8) pselect6(0x40, &(0x7f0000000240), 0x0, &(0x7f0000000040)={0x1ff}, 0x0, 0x0) write$binfmt_misc(r2, &(0x7f0000000240)=ANY=[], 0xfffffc8f) 21:00:51 executing program 2: mlock(&(0x7f0000fee000/0x12000)=nil, 0x12000) munmap(&(0x7f0000ff9000/0x1000)=nil, 0x1000) 21:00:51 executing program 0: syz_emit_ethernet(0x4f, &(0x7f0000001040)={@broadcast, @broadcast, @val, {@ipv6}}, 0x0) 21:00:51 executing program 4: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) sendmsg$unix(r2, &(0x7f00000001c0)={&(0x7f0000000040)=@file={0x0, './file0\x00'}, 0xa, &(0x7f0000000180)=[{&(0x7f0000000080)='4', 0x1}], 0x1}, 0x0) 21:00:51 executing program 5: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) preadv(r0, &(0x7f0000000540)=[{0x0}, {0x0}, {&(0x7f0000000080)=""/185, 0xb9}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9, 0x0, 0x0) 21:00:51 executing program 1: mprotect(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x2) mprotect(&(0x7f0000fed000/0x13000)=nil, 0x13000, 0x2) 21:00:51 executing program 1: syz_emit_ethernet(0x23bf, &(0x7f0000001040)={@remote, @remote, @val, {@ipv6}}, 0x0) 21:00:51 executing program 4: syz_emit_ethernet(0x1fbf, &(0x7f0000001040)={@remote, @remote, @val, {@ipv6}}, 0x0) 21:00:51 executing program 2: syz_emit_ethernet(0x36, &(0x7f0000000180)={@local, @random, @val, {@ipv4}}, 0x0) 21:00:51 executing program 5: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) close(r0) preadv(r0, &(0x7f0000000340)=[{0x0}], 0x1, 0x0, 0x0) 21:00:52 executing program 0: syz_emit_ethernet(0x36, &(0x7f0000000180)={@local, @random, @val, {@ipv4}}, 0x0) 21:00:52 executing program 1: syz_emit_ethernet(0x23bf, &(0x7f0000001040)={@remote, @remote, @val, {@ipv6}}, 0x0) 21:00:52 executing program 3: socket$inet6_udp(0xa, 0x2, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x9, 0x8b}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x2) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='memory.events\x00', 0x26e1, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) splice(r1, 0x0, r3, 0x0, 0x100000800ff04, 0x0) clock_gettime(0x0, &(0x7f0000000140)) signalfd(0xffffffffffffffff, &(0x7f0000000000), 0x8) pselect6(0x40, &(0x7f0000000240), 0x0, &(0x7f0000000040)={0x1ff}, 0x0, 0x0) write$binfmt_misc(r2, &(0x7f0000000240)=ANY=[], 0xfffffc8f) 21:00:52 executing program 4: syz_emit_ethernet(0x3a, &(0x7f0000000180)={@local, @random, @val, {@ipv4}}, 0x0) 21:00:52 executing program 0: madvise(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0) munmap(&(0x7f0000ffb000/0x2000)=nil, 0x2000) 21:00:52 executing program 5: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) close(r0) 21:00:52 executing program 1: syz_emit_ethernet(0x23bf, &(0x7f0000001040)={@remote, @remote, @val, {@ipv6}}, 0x0) 21:00:52 executing program 2: mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) munlock(&(0x7f0000fff000/0x1000)=nil, 0x1000) 21:00:52 executing program 5: mprotect(&(0x7f0000ffe000/0x1000)=nil, 0x1000, 0x0) mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) mprotect(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x2) 21:00:52 executing program 0: syz_emit_ethernet(0x97, &(0x7f0000000140)=ANY=[@ANYBLOB="ffffffffffff62fcb53b395986dd"], 0x0) 21:00:52 executing program 4: mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) mprotect(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x0) 21:00:52 executing program 1: syz_emit_ethernet(0x23bf, &(0x7f0000001040)={@remote, @remote, @val, {@ipv6}}, 0x0) 21:00:52 executing program 2: syz_emit_ethernet(0x5c6, &(0x7f0000000500)={@random="f75453f3282a", @local, @val, {@ipv6}}, 0x0) 21:00:52 executing program 4: syz_emit_ethernet(0x56, &(0x7f0000001040)={@broadcast, @broadcast, @val, {@ipv6}}, 0x0) 21:00:53 executing program 0: mprotect(&(0x7f0000ffe000/0x1000)=nil, 0x1000, 0x0) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x0, 0x1812, 0xffffffffffffffff, 0x0) 21:00:53 executing program 5: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) recvmmsg(r0, &(0x7f0000000980), 0x10, 0x0, &(0x7f00000009c0)) 21:00:53 executing program 1: mlock(&(0x7f0000ffc000/0x2000)=nil, 0x2000) munlock(&(0x7f0000ffc000/0x4000)=nil, 0x4000) 21:00:53 executing program 2: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) recvmmsg(r0, &(0x7f0000000980), 0x10, 0x0, 0x0) 21:00:53 executing program 4: syz_emit_ethernet(0x4e, &(0x7f0000001040)={@broadcast, @broadcast, @val, {@ipv6}}, 0x0) 21:00:53 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) sendmsg$unix(r2, &(0x7f00000001c0)={&(0x7f0000000040)=@file={0x0, './file0\x00'}, 0xa, &(0x7f0000000180)=[{&(0x7f0000000080)="3470ad8d6e865f94c420527dfee3a14cfe80fad5cb333806f1bca20092fcc8af39989d1029ff9af575ad61fa61ecd326cb31a41ceee4a99fe7cd4338de4510d921d8d624a369b998060e8d51a11ca17710899c3196f920c88d24b8361bf0a6c18a98672ef325a8d2c7227489289a74cefb80669aee5c03446805e7f4c62f65d971e91a49657b4902c29d5b839c2efbb660", 0x91}], 0x1}, 0x0) 21:00:53 executing program 4: syz_emit_ethernet(0x5c6, &(0x7f0000000500)={@random="f75453f3282a", @local, @val, {@ipv6}}, 0x0) 21:00:53 executing program 0: mprotect(&(0x7f0000ffe000/0x1000)=nil, 0x1000, 0x4) mlock(&(0x7f0000ffe000/0x2000)=nil, 0x2000) 21:00:53 executing program 3: openat$mice(0xffffffffffffff9c, &(0x7f0000000100), 0x1) 21:00:53 executing program 3: syz_emit_ethernet(0x4a, &(0x7f0000000080)={@local, @random="62fcb53b3959", @val, {@ipv6}}, 0x0) 21:00:53 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000200)={0xffffffffffffffff}) r1 = getpid() fcntl$setown(r0, 0x6, r1) fcntl$setown(r0, 0x6, 0x0) 21:00:53 executing program 0: mprotect(&(0x7f0000ffe000/0x1000)=nil, 0x1000, 0x0) mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) munmap(&(0x7f0000ffd000/0x1000)=nil, 0x1000) 21:00:53 executing program 4: madvise(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0) munmap(&(0x7f0000ffb000/0x1000)=nil, 0x1000) 21:00:54 executing program 5: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000001740)={0x0, 0x0, &(0x7f0000001580)=[{0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9}, 0x8) 21:00:54 executing program 3: mprotect(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x0) madvise(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0) munmap(&(0x7f0000ffb000/0x1000)=nil, 0x1000) 21:00:54 executing program 1: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) recvmmsg(r0, &(0x7f0000000980), 0x10, 0x0, &(0x7f00000009c0)={0x0, 0x7}) 21:00:54 executing program 0: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) getsockopt$sock_int(r0, 0xffff, 0x200, 0x0, 0x0) 21:00:54 executing program 4: syz_emit_ethernet(0x2a, &(0x7f0000001040)={@local, @random="62fcb53b3959", @val, {@arp={0x806, @ether_ipv4={0x1, 0x800, 0x6, 0x4, 0x0, @broadcast, @rand_addr, @local, @multicast2}}}}, 0x0) 21:00:54 executing program 2: openat$null(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) mprotect(&(0x7f0000ffe000/0x1000)=nil, 0x1000, 0x0) mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) 21:00:54 executing program 3: r0 = socket(0x2, 0x3, 0x6e) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x8924, &(0x7f00000001c0)={'ip6tnl0\x00', 0x0}) 21:00:54 executing program 0: mlock(&(0x7f0000ffa000/0x6000)=nil, 0x6000) mprotect(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0) munmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000) 21:00:54 executing program 4: mlock(&(0x7f0000ffd000/0x3000)=nil, 0x3000) mprotect(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x4) 21:00:54 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000001300)=[{&(0x7f0000000100)="05ee72dc366412b30da590c8b84d", 0xe}, {&(0x7f0000001380)="2c4b0f0d73c9f701000000000000806ba1ae83e54c77b7cbf64dc84e24c3b9b7575032486ae28a61e963023af9a42a0d6c194d8b87b880d4cd2ad74975fb1b733fd017b99e3f194822368c2ed6be62705c76db97636d9a3d7d086177122dfc735f86ea7b7b1d4f2aab2dfe8f2b59749420e19d3702368c14d4ea4795cd025042821eb144d520b331351657cbcb2e405133711e37a75942c4cca9b6b568fa961612c97ba0728696ac7a49673c411712723d6d38", 0xb3}, {&(0x7f0000001540)="afb693d5094eafc0c086be3a479ee21b1a9403ebe4510bbc840579b867871dcbb4dfa312b3e2727ea7d57d9ff163d6294e399fb2a82560ce0631ca0601a574a905000000000000000000a46986b85959b6e086691fbce318a00ef19ad74d9307e34f891213a773e6639ed503afeee42f511299807e4706cd0ae6619102f848abe491115e6282c76d619fcc9f51318c14ae5e5533689961e30d9767ca21872ed4a42ffb01590500f1823f2f495416a29b", 0xb0}], 0x3}, 0x0) 21:00:54 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) sendmsg$unix(r2, &(0x7f00000001c0)={&(0x7f0000000040)=@file={0x0, './file0\x00'}, 0xa, 0x0}, 0x0) 21:00:54 executing program 2: mlock(&(0x7f0000ffb000/0x2000)=nil, 0x2000) munmap(&(0x7f0000ffa000/0x4000)=nil, 0x4000) 21:00:54 executing program 4: select(0x40, &(0x7f0000000000), &(0x7f0000000040)={0x7fffffffffffffff}, &(0x7f0000000080), &(0x7f00000000c0)) 21:00:54 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000300)={0x0, &(0x7f0000000240)=""/184, 0x5a, 0xb8, 0x1}, 0x20) 21:00:55 executing program 0: socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$TIPC_CONN_TIMEOUT(r0, 0x10f, 0x82, 0x0, 0x0) 21:00:55 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000000)) 21:00:55 executing program 2: socketpair(0x18, 0x0, 0x10000, &(0x7f0000000780)) 21:00:55 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x0, 0x0, 0x0, 0x0, 0x225, 0xffffffffffffffff, 0x1ff, '\x00', 0x0, 0xffffffffffffffff, 0x2, 0x4}, 0x48) 21:00:55 executing program 3: syz_usb_connect$printer(0x0, 0x2d, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x1b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x7, 0x1, 0x1, 0x9, "", {{{0x9, 0x5, 0x1, 0x2, 0x0, 0x7f, 0x6, 0x4}}}}}]}}]}}, 0x0) 21:00:55 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000e40), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_MESH_CONFIG(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000080)=ANY=[@ANYBLOB="90000000", @ANYRES16=r1, @ANYBLOB="010026bd7000fcdbdf251d000000080003", @ANYBLOB="0c0099000600", @ANYRES32], 0x90}}, 0x0) 21:00:55 executing program 5: socket$inet_dccp(0x2, 0x6, 0x0) 21:00:55 executing program 2: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f00000001c0), 0x0, 0x0) ioctl$SW_SYNC_IOC_CREATE_FENCE(r0, 0x801c581f, 0x0) 21:00:55 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000300)={&(0x7f00000001c0)=ANY=[@ANYBLOB="9feb010018000000000000003c0000003c00000006"], &(0x7f0000000240)=""/184, 0x5a, 0xb8, 0x1}, 0x20) 21:00:55 executing program 1: socket$igmp6(0xa, 0x3, 0x87) 21:00:55 executing program 5: r0 = syz_open_dev$media(&(0x7f0000000180), 0x0, 0x0) ioctl$MEDIA_IOC_ENUM_LINKS(r0, 0xc0287c02, &(0x7f0000000140)={0x80000000, 0x0, 0x0}) 21:00:55 executing program 4: r0 = socket(0x2, 0x3, 0x6e) sendmsg$BATADV_CMD_GET_MESH(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={0x0, 0xf0ff7f00000000}}, 0x0) [ 382.214510][T10362] netlink: 116 bytes leftover after parsing attributes in process `syz-executor.4'. 21:00:55 executing program 2: r0 = socket(0x18, 0x0, 0x2) ioctl$SIOCAX25ADDFWD(r0, 0x89ea, 0x0) 21:00:55 executing program 0: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000001d40)=ANY=[@ANYBLOB="1201000048374820861a2355d080000000010902120001000000000904"], 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000780)={0x84, &(0x7f0000000200)={0x0, 0x0, 0x2, "8d6a"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) 21:00:55 executing program 1: socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8933, &(0x7f00000000c0)={'batadv_slave_1\x00'})