28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000005f00)="4ed88ef6f971ddebcb2d85970fced30d60ce37ce03b1b6dcab31d6e4d9e84ed7d6e43289be9c65a37254edbb46b85cddc96d26184d0914a27ffe4ba441c6b79b251c420b2b2c2f63624d180e869052798b480701f55e29c556f304fbe567bf5813f71a685841d0f345fc1dc835982d44a5149029727d5f32e2659dfd905af3855f37fe552cd1a690335b5b7e21b8a43b463a43a55bc764d18eed175b218dcd94eec96d753c350f372ed4a1b4fb1227d161b3644b42854d78a7850c8e4e229643842663292f9dfbf74b0c408335a097b8ac3bd59244c58e3af3a354336cd3eb9fba00bb03a35227baf92d7ee1988de903f6471c27d952e38911cfbeeaf4bbf74cec8837b33e4f91d3704801480fe8df11f5f775de272b15ae680be807404f2cad30409df39167a7fc7887567f6fc8803ebe6a41e367743b3e27184f72ec6b94ff6b650fc4b0f5b98a5f364f929a25a09e73c8faea7dcb8d1b36bf2e30376742d90c1a6883494548a48361dfbd9b84d00d719516c4a4089dd64c57db3cacc575e9326c8032c4777eacb231626a54fa5649e54ddd232720a13166fbd1bf8d13851f8d573e77deb8d7fd2749daf95d80c94930001af6abe9346025d86c47d2ba16197c28f5b6e3d34341d4319813e15fbc05580aaeec3289962b294ba42c4064d36519af2ede4bd25efd6c91063ee748bd6da074fee1021ca19568fc4770053ca3e38b5117d12b42410f41a10d1860fafb1df37dac10dec1bc20aedfadbe72cb8477ed2803e43a6207329c38e266263ae3492f9beb3a649ac6bec1bd1c46d8079fc4111d3d8bd6ccd0b08caa7fe9dff180319d7a23abf41a9f119e101ab54f4408ee7602bef45c5ab65948bc573dfe0a75a3a843e86b35ff22f3d65945b8a5e95ca6f1a41ed56109ab102b3a1322f508a33e575984ce3bd91afdabfdd5a4310b957b66275809505683037f7e095850df8c1067955933d6087e2ef12c44bf601cd9dd414a6972377bdd7a5c43a0a2e0ffffbc2d0d516833420625a7722f286dd5e51b3c5760dabed81aca8684cac5e4e4a0199f5d5489a6afa3eceb84ec27ccb5dcab370ee93b161153d06909b043832d0d0596f09c595678bae9954d2f5b3bf63e804356a7dcaed9b9072cef63e25f0a8430b3c2ba48a9c89dfbd6f16c4f3912da9e4aeb9f8e8c8c54c0eb409eb5d3c10b960c2d4516deba55e1804a9573a4d73d6dbad52e62fa85ed0f5aa0592a9d2e55fee5ece0e61f71091e6431c3988d2ab8a5e446377ad3dcfb9a7b2cd9b58026281a10338786499c47d3287aac008d8a080fa3671d35c3f4637934fb9070cad1a909446012d6d4de71bac2adae40bf93b9992acf18a2791ead018fd0e9e043312a4b72570e0d7ad5512ad237804c6855e93128ae3f16dfb2efb8560adc8323c31eca68197b87fb5f0a81c5584457d86a032d71ddd433427dadcb36c57d49a896fe0cac510494244b7279a8d65082fe9946892d8ca67f2d9aba8e1a2d6110bbf7fb978af143d9664405e353d01ba347326f9edfe1a1061a07c5098cdd305497f7807b1249cca1aa2d22bcbc33b1a4f177a496e823fe70581fca97828e63f56d9ff431ea66e60d24b6a69cee085ecbf521a64327e9d11b4826a4a6564797ead27174e841cf809b149a9abd589773b1bd20ea39374ebe5e521a4dd47ea7638cf20dbca689c712124f630602894eb0e0b4d2bf200b03546f308b37b97619ebac4b353661dd133b4da29b12835bd5888fcaa0d81bef902d6f1726e67c64e55a75550b94418aad7c7bf0f9b09ab52cae0d8eb93f84f2c123cbdd7e628900cfb19437657a6bc3cb11ab3cc0ab9ef77b84de6681733f5615c33b1002c6cebc49793182fd5574967ff4dac233bf62014a56cfe5a11238eeeacb01b1810e8c681d960087e74c0ffb346b47b5bef4b18d7804fc0973a2b789fb84e3b3fdfe8bc66c7634d2ff7c3a87847d55e813085fe5b1e99eecac1f3788914394e7ddbed28b51ebbed57a525905e1317ae3e6217a97c397d0fcac0fbfd3e15d0c28695a86fdf74d4673c8b7f7667c649c19a8fbcd1f131a0863307a767cb82a0d983d7261a2e2784e0e0ad1a50dece973e03aa99cea39b279d704da1aa7148e0e2a9d368db0358b08b6f2bae94f7716770c5ffa0ef710e6e7005e1a38a8a8e2406f5372e496469c78df38c283e40597f8aa4f392537af107127f1ffa53adb6d8acae9c13b6ee15bc80f90cce59765233e11612c98053c95e1866b2f7d23d696d38cb2ec166cddcd7992046c7b526971c661bc02d4e5ac756f6a8b15beecd067adc562892a760bc2ad9207804f088d90a92e2577a66216ef75cd1888aac72d04aaefa3a2238d46c2a595e843aa28cb6ba9d9ecc012a3a7f433f04518313ba7e74c82a9efae57c7172ec77c2721089f83083a4a2616b9af9c3fbd175f9f1a65edbdbce33f7d5b820988a8586165dd62c64ec43ed9616a00ae6e70b54df88fde07329a84e100e3822384ea4bec1ce927b0a2a8c45b8f2523e64829a12cf2370dd66991593478b65a9cd9f5bc04a4ffbbbb31a37656fc324726514b9f59cd873874c883e108af3f235c5ba65d53dcb976290f25dc6d1d11f6712568e7acbc76c4d43b64f7de917e60b2ebed1aacba2a9f5186cd3c4ca2421aeb5c32d2885f3d75354f45c34502a39641add4e5f6d889fe7ba36d710180a6fbe9282f0547d664ccc9a0acf5f433efdb477172238d1f2abb08c6deaf05a36de315a846a8203295f4cc1d2ae879282f39a77c1a3c541466a6ef9d0a775a7d265cc420a26a33b11d8d82370638d6ec8330e36e3e3a52e62397bad6d1c543242f4521f534c78fe9f720f7ad2b821165b355be83e8c20f53dac159ea18bcff78c37b522031fa0bbffe4734d80c034a5986726a5a10e098936f9baaef118c26538cd16300097033815d2ac8536f16d8f8dfaa95355b1d4466ba70ab55032c7df3e9f19c33608178fbf0478453ad5c6a1d529cff271823d0fc338d3be19b5f06d5a26447b249085255620ddfc1da3f21e3e8df92ca94f5566c64d56ddf9e7ee97db2b407689ed38a31b4f688458d2fad6f6101c4f9b9fcebde3b880ada02d98dfa6f85bccedda2a1b0f6c08e9578cac571813b5da8acb324739b07bb2dd92dbd5fd5a5a8110730fa41e4ce53b40094a2d189e90a562722ba3c3eae37b15d7ddf380373a6b187c7e419142742a97973e9d06bf1eab7dd7772b8b462c9d19aec94b40ca888afc900f44afac20ddc94086a5740daa91a9d591c135e814f6e23321a040823b12771707fb3f85d5967d3510a82d6965a0b586ad510e323788c92487842f98d1806eaa816d445c1a245dae42d61760d76877f4c9d6123a0ea2d1709eb8f4139e428c9441607090af6cc3acfd7bc303f3e3d6f4ead52101e3e8337303c532a0e30de69edc3dda4d99df1c1a72e28a00e10aec6f1af44a7dd06ae22fa4cbe66d2272ce066b862a210c36fd2e16a0b5a2270aae88a5ccb5047475cd2c56c088c6c97907a341261e8d15601f11f3061f516527df6fe08843f6071c026021448cc7212395c6ef91f08084fe3a651b0ce144be419d415e60ed41dee21587e1657b4809a315ffea907ad817ff4b91314c4eeb424a3ec1d155af0e9601853ee8691b404fa4c85d00a39a1e1b855a7fa1e9d35eb91f062c457a34bb3332a2d167539c7f78b8ed2e854cc30dbd0a40fa3ae2b97b71101c8fafbf0959eacbb02da5df1dcc82da7818a0b9ca85779f63162627202ab93f50962d886a3b4f908596123648e933f47ada2cf0a7cd971ad9a0f281bfebf438cfbae547d4d502fa11d3e9a17193c42702f3eeca08b2c30b40a8c189f5b65fa4050b162ecefddf15eced8b60c70a2d4bab23bdfbfd83008219bf3a954e81f372b86d0a1773656b0f480da9ce215fd7ff051812fbc7bc8a6ffefd371764a906bcc35484d35a713e251bc344b2054d019c2bb75c5ddcf63b267eb1ef09792122946e48371450e69af59217772ea6997c62cd3e75ef928439e61acf5c00f7abe5b226e3f0c49e8d89315d386332111db9d19b746dd6bca8e5dac9e16e7e12bb2af690645a0092ffaac6b90a457bad32067da02bd45f6b3a37b40c36c319dcb86e3cb019d9e6a1df8c69d294b676a95b4d305658815d0e3fd1ccd5963e3f9fae89e98b283b2b32ef56603f6125221a817c52e341182993ef09609854ba010258fc4c1bccd9f0f41755a48bdf61c59d93f8ec38466b96cf6e6aa2b2ea695e74baedf44085f8ef0dd17b34052d747d36318fda11949ae4651d447719bae033cf025ac45e201c5d6998176c8fa3c91d74972bd4c32eeaaef456b82b533263fa542c47a024c1841152416bf842d58277c0429a3a47bf6e55a17646aa17851d86800bb14bc2adc6b9e599a04c463c13e8c828cf8b891685e155137bb39668355476df5f4712e9e55b288b9afb62bb46d9c62c5e40f68b04c4e8aafef667ea569466ef8c353f8171835df14bbce2f4afde6a2c6d2699b0cd7404cd54e6d9747e99d5627a435c9bc2b6183162849e4cf9dabf186777180064fe38eff9975a7a43de9d9ba188e2830021838ebab98e3e23c7dd95337454cc8694867bb6c8baa20681e056c3598255ded5c21f0ee048d510a247a8bf58de6d76a0aca4fc54d507bf34593a6a4f84f6dc6fb97807565b036c61c793295db83cea15102ca36815512dced3d43b20efe95da99cd37ca518de933b047177e2d3e2bd71a452d385b78d6ac0f9b3b5529741c6e1bb1c859ea7b1533ed667fac663e5a98e666009af497d537881ded582d00de9d06283489786db1a4a91886b8b0e7f47b24163b219ad41c4c00af8b0bc992daf65ab73a0810ddf18fd3dd3425963a571040797d7668c4ef5978a4fee941a8a855bf18dfeb21f3ca69fa78f3415b7ca628f6efe0c3c660cbb0c85da0ef7eb6200f7fde3a6a2a1aff5f110941941a4b6d26b6bbb32b6f0515800804bd1e38e3eb3386402d5895d6128afed2d8719b203b2dd05a3dbd4767704a050c1823a810998b98003053bc60a29d9b5c59d5d90ad20705ec2d8afbb05147ebac3df452a923dee2c65c12f377716cb52dcb073775b702d17f7863f8f723d07e5e275c878ccc1cb532f96e8a33bfa9102898dc6f722263bfeff93af5997f52241313c58e6704303268dcc8943129ac80fadb3a8b1baacee271aae9bc9ead57e76e938904c8290aa03bd6c04ef2fb985029522f87c078340dbf22db8162b55a908ff2f15072a6f56adb7e42da29027cdb059cb67ba907bea7f7d41952a44812d6f06d6570f9d159b1b09e97ee7bce68128d42af582e026f9a2ecda0e9d08345ce0acc948d3263a305ca77825bb903fb23ced626b944ba2b7f5c8e9af0ddc0afe126760e3b584c9cb1e68287a116051b3c8b8489a3ae607d199799a6fa619e8c775575e7fe090cea3ff097c66eddedcf213ee483401a126c459e33e8bc13e090712162632d94621424c16e7cf04902474b0a54b4425ff6d6e604f747bf0626043db6cd912cdd391efa3f655eea2b5f9bcb57a8ee495d095532fc9e5e1ea60d16e9c4ade93821f6449b1a3bfb77a6d25d9ffeecc0c72f9f4350cd733138259f0a348c7f7ca4a42e93e6d5180d579696a3c1103b5830aa0b8c5c6a7672d9af608b9ac95ecab659460de6dc814c870449f22a5da81d4c6475f56fecd1396b0ac7ce189e990b4232255d26d436de7edb5f5722033063cfe443a41d8340df464b137ba021b818cf629a7a435f48b08ebb46ba28d468d28ae280438b92a948e76dc7cd79dd7b0240c4bedf5b5402c4c1f9c0b095b8ea90336b2fc2a5f21c07cc835ef5d3df5c1c662b4d99ad72f6c8becf9edf624993fd8468c2326e627eb5e461940754642dfcc5dcea8fd61658b4a862a3c261968ca69bfee43e0a28ca600f3c734b48094bfa976d3bec1c8f0e92d58f12c243b5cbe45eef24c7c4137d33f39a7751bcc65b744d934c55754a3cfe64f7cfaf32cc68eeeec707ed83df0f0da6d6e8bab6d4d5c9c034da3ef439330aa3035be1867504e9e66127297f91c63eea345b3060bee7ace6756e153145ad202b67a318f86bce20cbbb67321d48b0b7403336f0e615f480d675daad809bc61a0849c7ee803dd733c1d720417117789a54d7cd1daa963ad8cc5b3b32f4292998c3b6d6da5abc8dd4314233580d28f4eb94453f8eba624d77c2970f358d1c7477c1cf7f81c3a90516612156cdf63c0de6a57e7e7f05d958ce56d1047318f1e920cce97dd193d8edd0ab2559032770bd521546ee1a17d77e8ab0a8e8242ea2ef383efc0b94892c8d8b15aad9818a4f77cba6b62084e4a618f879c004488832906d7df5e1c25b117b9dd3446a325a6d91fb048bfc0c66005e95cb27e6022de93efa390672b4115ec31e27ca8a0d3a939751b1b11a44a5335f3c0bdda6c343ba8c3de4bd92fb2f4d7eaedc86b9bfe2a577e545cb72d7a477e772c4f94e4d083655074ed6d6f700216e252be2023618f60ea0c969d462b8de088e8c08e5071ef363009e9dc9f87b53b4873c4151ab1fc56295a38b84ee78f3c7d00656a0592d440773c6f49c6191eac61c5c053c2db9cefbbbc3d44a20a27bc2d579fc9b9a2d3eec9ca2ec39a7546dace2b0d7159005c23ad18d93b6f7ae0fdb2e956904b55729357e4cd6f684d20267b2f6df6b8e174baabbbc9cf1de73e649f3b7634486f38118369a449582ce78a49d613bf372aa07e874ce12fd3526880e407abdd34149b221395da84d5ea2f2a6fa93b066f02bf7494d37ac51babe5c595b8b62b7a79d49256ce1c4745ef97118bd2c2fa46ad7c0ee80d85c0e4fc18ac1cb4228db2e091fa3dcdd147ba5a40d66d63acce7d22d1744fcde36918cccd6eb2e5a0520f76f4b01b2a3254b5ad7bcc8eef0b4316498e4314e34face29b662ff9afcab5682f0cce68efc47a37c5a4613928b6e88bda2ddfb47a6fde48277866b9d9236b3bcc880e804048ac2cb5d7aaf84ad9a3e0db1a6d941736f0ae43d8f46783dec0909ba2f5bfe87636d10b33be30c70c8c212de4c15c9c38b65b1e71f792a490515f8ab8cc26b8a3b1db58879fdab140e313ac30168beb519c49b5c2647fa6f66ae0c649427b45d4ce3910e1459b965d4c1fbb2060437804bc26535217c56a27cd495931a2f874a4241dbe74be86e0665e341f71514cb22014858041269917e30772d9c672e6c76ba1e69603d289410ad5a359c9a1aa867da21e2a502a232fe20ce14bb6b127d0250eaa2eb90f412f9e4135b8a079db264bd6af08e36f8d3cc9678751e2522150bc7f5fd773511dc20b66a392768b12b5a6e1e48f341b9d88cd9bb90f3f8e54a1d7df5e5a3e5ac967f956ccbb3d720b26ed8ed7aaa65093b8c92a15c0015a678df3d678637f11682b98f9728cf1dc4ff890b52e6047a0be9631022ef56e5bfdcbd5fedf79cad3cd52f8532cfc6a747853fd55cc0314a4f76a7b0a85e79af9d0aabeec019080808f7d184f6b4ce9e65b548144392a0e942ee236a891824e785510d76d095679cd373360d0aebe03dd6ec243c21b4c1303ea0d14aecd7c20f4baf10b88416d1a8b0cacc72a3223584dcfd7e73f045f26e7da252e3efa4e7bed47850b438c4d44bfc36e26411fa0b05b8492a530ba9ff44ec8075b08cb1a4b0747f77d81b6462a6f4250370004f360da5fa711916b78738015404fbe57458cb448f40d513c3555a18f3a573ace8a837f4c380ae09c1bb8f14069c9f8ddc17b58ac3d8b933c4367254faf0bef639403163db73ad671ee9378c132e101288f5b5acc0462d88ac2c180d9658eccec5cd522c66d9a2e1647e074acf0ce242fb4fafab4b1002a0b93be0cffc10e5be5a0452f01079b6d3fea84e8046e4db8db1e32a9ced18b625f6cd83f6b3b7e67c67653ab148dc7327b7b5e1c61c784c06b577a2a8602841f2aa2dbedb53af0284afd82bce01c9d453e13c18a21f307a7e07b65c393a496205fe594b28e37613dea1aaecf655c4131a6de551a29fb2b7f9a4143b8d038c6b2ef3f4e8b3f2e558f283c6b97b9781bf312076cb3873567b9e9db764791bb5908377f4b0cd11015f31810e7374ac6962b7b8c5f88c171374876854bab5f6146b51f552b0a10debb0fa17e3b568ee8142aac2fb2f4620906934155e63476fa269aade53fb13adc9994939f0a7e0062f65757ceee5f09970137dc1bdb29c4ae3ce8885492a9eca6579aef6d36f611924fd7d4b1f441c5b8eb141be70abcbcf4de13d0bf0bed13ad57b045dcea72925f96b9c2970d96d59c4dad5d24c24166fa8c96ac465f1b7f6a2ab1bcc5cbf28e836840223f57c3583045761fe5e763579f089ed5ce9441074a3272f4da61b11814e8cf4a5e89c3a4c4d002c0389303d03cb94a8810ab8c4d8adbca2d9e2ea28b13fad20f0243388853cd130b59212688b4f06d602c8279604e5fa9dd3229362f78fa5d575e672521ff5f003183fe3ebc561a2268c04c22e6f7b246e936d0c03df4a1f14513a3e3117be78619fc85734dfc69da60c69f0554a9191b96a22035db989b9203216544f18a8ae0da105353621dc4228cbd606d9950d1dfc25f9b1761df9ec9044145e313a69f255c6ac5d333ad258c2b4bd743e0d1a84ea82f0d3863e7cb4ff26427cd1004ae703f9127b686f538117c9427e70c546929fa324798aef128a2ee8cbb0c1c3d9e5a76b7b080a39ead73e3d04c4784568c2b265514f86ae30c38896ab6a8af44f31d8127742092a377382c229df4ff232c967913d3a791977f34b5d62d1d53d24b3721a7c8b4b50f331584eae00873888c18008e061133160a2e7121b6b46c77f640253305bcdac5994a42fc00f55c933d392ae043638afd87b100cdea662e02675c982cffb108f4b79120939ed311670b0fb275843eeb59ff7be1dd8a164acc52f2e70cf9b1f134a0c3115e2e4655177da2f1c157ae1a08394fbeec4621dec09958550e0aea88a884ae2e2f5b66b1dea640a397b144bb57c7c1abee30495cf774e9949e5384329a72793532156299a999321f4a0f38197d4c9fe05af3218e0d9c3545d56c1c36ebe9a0f7812697a263c88dc7bdadd222f3667225d82212007f7a98122101c1fd4906dce78547ca4606f548ea7baa0680396d39df39b973914cc089cb4b654a921e3e1b7b14f1ac878e9407fcfd9a57382d4f5554dcbe3838b8fe9c0df7f15db03bb4efed1572be0eaeeafb1a86f41dc1b384e398dccfb5ba2c960d71bde423a044381fc1ac5a37f0f9dc94fab6df7ac4f3d6b69363cc2736ee8a0658e39c1cf3ebc75fa86446ea649a6620350043193aeb92081178735045a417af26f0000404242aa21ffb0f2d299117728f25de48ef2aa9d9c1c2126ce29954b03d291aff41253228984ae394e276030b8bc4c43f2cce3c859aaa7716ed249a6352729d7145edafc94d40c88c825fdd6e84e0eccdebc5b4ede24d644a4e419924e88d90e17f588f91be0d2c12e3a8be22b72f6975b9c89909311f5267def47734da1222310bb84ad9ddf720b5c7fa66cabc12d4143bbac12c9836110dea15d91abfbd8e4de5e59123359114329eb4d424f112f05c40bc744e4a93ce21f301cc7c128ea786c148fbb10636c1ced8d6c31f21556575cb1f88fde5fec9ae1a4c210e3cc36b948a08195b91736c3fafb3068a945ef4cf330e0a38815f28b3526ada9b533acd1dded425d4f4226dcfe372ed428f7a538af19bd52b600a612d3f80fdafaf8ee6d74d96bbda6d609523c3ed990735b168065930a113f612512e514578fa087586c563cd814de3b8e0cc2e6ac78c34aa20a7898f3d6ea58372a75d2ba8327c9fcb75767073d31d3db42618e4823cbc99c24c49372a2b7ffe56790a588252b10aa39c003c31de3b5681fc116836967ee94a4bbe48482b34c128aec3642fbca0182f1af0156bb8adceddc371a2a390c86d8fa1315c57c70b57a324b2095cf65602e4eda547895bc3926e1428f84ab6e7cc9537b02e82dafabfaa530ba9609e6a96900793f92b0412e79b413cbe441e0bc71aa3b1c96d6e384fbba4e8ae5f048285aca50ae7edf75df40d27524d55f51247589ed163b7ceb1c3d827fc89806f0063adf3df39ab96d7ba4252271c15f8568f09abdb244d4f4e2987cc024de3f1eac1ce6be2109049884cfcc5c8c765ae0a4b9ec1a0f5c592b6670926704609fe8c34be24cba4214d69b4b09c3864ae37685ad8aa90204a45952f9a96bf7da4bf65c79903717b6fb266538338ef1d641e178539c06a3cc1dc78a26d6f10abdb99090c6a80295e11957c0d4dbb0ea0c2b49d9ce60ae0b5035e0602091c051ad78c1e694f0ef9b0ee15c4277a96cd602c0415bf889ea64e40ca7b260a3d08a02d14c90a0d90f00b0850d22b75725d72741ca14eaadbc25525b33a23f5756715c8f3cb8a15008942fc930f5c825a59ccd3501772e1ed617f36388b1c2600292eb97873c9de19d7dd24ce058382a10ecfa8a1b465e969035837919591685c9e481a42bbc21383b3e47fdec2ba69378f08d87840ef90f169ec5911a8b0f05f209352b8d8c7697d95d6dac9c52426fca95d889978efcfbfb0a0df9147cae1e01d36045db64f3226415bfab7a63a436e745874da70dddde244129f65c4c781e47e68076c83ae4aad9deb8aa585597e9bd9e838004329b3e41f56bcc728eea49ae6a6d34f4469026c7b6488109bca2821f087478415e0b5884613ec6e041aa074ff5fc2ed1eb95b98dae81c7c10fd121ba53f36ac0e0355bbe948364d220aca48d67d2f1434d059aae12e1dc38207e767280aa691515b3b466ce119f7fab2713453a6b329630c608724eadaf9caf9205ef873d5a14518f19e485aa82f7dafd68e5a6f5e0338546d7d623e6c4a7930e2a51ae2662619d665c55d1152b81e8e5f41e5ee0d6afded949be947e3a715a5d852ac7688650031563ad15da58c8d9d4c237629cc88fd16e39ef95c47a75b8a2d090c332e6adcbfeb0d4a8e9b38e12e0655bc585a6f9c3f39bff2d46c27a2c18d4aabe40601b8226ffb93538e410c9e8feed1d3e6c444f14e7f8830a4268bd98aed0f94ee3b9a2d13928cc5aa2d303650e79fa536bd5baef42703a5c652c197539f92536dea625889b5c59cb4852e8e6c32c780d84fa868937f0a0adda24a7fb5d8f9a921cca12adb4a6ff47c13d59b13fc81ff86c50aa06a25075af6de2f65493ea48fbad8e8eb9b16d575a5461fc53628ff2588aebb42a9f1a950bb7a4af31233f0ce7c0f41e3203fc287f1967e6eb659bae3d631a02ed6ff1849a45204a0d8a91eb93e24eddfdaf61b1f706eb33bb6017165ff0c3eee4b2e18061bab00004e4af31edb70fed67ff6f720eddd48b3e6bb511685da2ce0439ef1ca6d6df34a65856e84d09b5f3d3093ac5bf604d89310bdedfeaceec9219ff5c27e1d4365338b294c6a6d5fa404b10f1067d1fbe17dc9981303e2948acc4354fe778d40578394d540147fa78b29914849a30b9b1a438bd1f7a9cfe188acf617a1504249eead1a361aff911b696c4cb2d5c6d20690ff0a9c8fdce87625b38756bee80517ddfdbd1473d983acb5b03", 0x2000, &(0x7f00000011c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:31 executing program 1: r0 = openat$ttyprintk(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = openat$udambuf(0xffffffffffffff9c, &(0x7f0000000100), 0x2) openat$ttyprintk(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) dup3(r1, r0, 0x0) [ 299.001556][ T2931] usb 1-1: device descriptor read/64, error 18 [ 299.001633][ T3684] usb 4-1: device descriptor read/64, error 18 [ 299.121571][ T2931] usb usb1-port1: attempt power cycle [ 299.132418][ T3684] usb usb4-port1: attempt power cycle [ 299.531297][ T2931] usb 1-1: new high-speed USB device number 9 using dummy_hcd [ 299.542188][ T3684] usb 4-1: new high-speed USB device number 7 using dummy_hcd [ 299.631447][ T2931] usb 1-1: Invalid ep0 maxpacket: 0 [ 299.651450][ T3684] usb 4-1: Invalid ep0 maxpacket: 0 [ 299.782940][ T2931] usb 1-1: new high-speed USB device number 10 using dummy_hcd [ 299.801158][ T3684] usb 4-1: new high-speed USB device number 8 using dummy_hcd [ 299.871234][ T2931] usb 1-1: Invalid ep0 maxpacket: 0 [ 299.876648][ T2931] usb usb1-port1: unable to enumerate USB device [ 299.912437][ T3684] usb 4-1: Invalid ep0 maxpacket: 0 [ 299.918062][ T3684] usb usb4-port1: unable to enumerate USB device 08:06:33 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000002c80)={0x0, 0x0, &(0x7f0000002c40)={&(0x7f0000000000)=@ipv6_newnexthop={0x28, 0x68, 0x1, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_BLACKHOLE={0x4}, @NHA_ID={0x8}]}, 0x28}}, 0x0) 08:06:33 executing program 4: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x52021ce, 0x3d, &(0x7f0000000200)=[{&(0x7f0000010420)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x00\x00\x00mp\x00\x00\x00\x00\x00\x00wm\x00\x00\x00\x00\x00\x00og\x00\x00\x00\x00\x00\x00jp\x00\x00\x00\x00\x00\x00avi\x00\x00\x00\x00\x00m4v\x00\x00\x00\x00\x00m4p\x00\x00\x00\x00\x00mkv\x00\x00\x00\x00\x00mov\x00\x00\x00\x00\x00webm\x00\x00\x00\x00wav\x00\x00\x00\x00\x00m4a\x00\x00\x00\x00\x003gp\x00\x00\x00\x00\x00opus\x00\x00\x00\x00flac\x00\x00\x00\x00gif\x00\x00\x00\x00\x00png\x00\x00\x00\x00\x00svg\x00\x00\x00\x00\x00webp\x00\x00\x00\x00jar\x00\x00\x00\x00\x00deb\x00\x00\x00\x00\x00iso\x00\x00\x00\x00\x00gz\x00\x00\x00\x00\x00\x00xz\x00\x00\x00\x00\x00\x00zst\x00\x00\x00\x00\x00pdf\x00\x00\x00\x00\x00pyc\x00\x00\x00\x00\x00ttc\x00\x00\x00\x00\x00ttf\x00\x00\x00\x00\x00exe\x00\x00\x00\x00\x00apk\x00\x00\x00\x00\x00cnt\x00\x00\x00\x00\x00exo\x00\x00\x00\x00\x00odex\x00\x00\x00\x00vdex\x00\x00\x00\x00so\x00\x00\x00\x00\x00\x00cold\x00\x00\x00\x00db\x00'/352, 0x160, 0x76}, {&(0x7f0000010000)="1020f5f201000e00090000000300000010000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e00000010000003000000010000000200000022557c7f4c464834a18da3b19154b95500000000", 0x80, 0x400}, {&(0x7f0000010080)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x00\x00\x00mp\x00\x00\x00\x00\x00\x00wm\x00\x00\x00\x00\x00\x00og\x00\x00\x00\x00\x00\x00jp\x00\x00\x00\x00\x00\x00avi\x00\x00\x00\x00\x00m4v\x00\x00\x00\x00\x00m4p\x00\x00\x00\x00\x00mkv\x00\x00\x00\x00\x00mov\x00\x00\x00\x00\x00webm\x00\x00\x00\x00wav\x00\x00\x00\x00\x00m4a\x00\x00\x00\x00\x003gp\x00\x00\x00\x00\x00opus\x00\x00\x00\x00flac\x00\x00\x00\x00gif\x00\x00\x00\x00\x00png\x00\x00\x00\x00\x00svg\x00\x00\x00\x00\x00webp\x00\x00\x00\x00jar\x00\x00\x00\x00\x00deb\x00\x00\x00\x00\x00iso\x00\x00\x00\x00\x00gz\x00\x00\x00\x00\x00\x00xz\x00\x00\x00\x00\x00\x00zst\x00\x00\x00\x00\x00pdf\x00\x00\x00\x00\x00pyc\x00\x00\x00\x00\x00ttc\x00\x00\x00\x00\x00ttf\x00\x00\x00\x00\x00exe\x00\x00\x00\x00\x00apk\x00\x00\x00\x00\x00cnt\x00\x00\x00\x00\x00exo\x00\x00\x00\x00\x00odex\x00\x00\x00\x00vdex\x00\x00\x00\x00so\x00\x00\x00\x00\x00\x00cold\x00\x00\x00\x00db\x00'/352, 0x160, 0x860}, {&(0x7f00000101e0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xa80}, {&(0x7f00000102a0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xb80}, {&(0x7f0000000c00)="0000000000000000000000000000005cbed2b6f0e7a58a8ad0ddc32ee9da62a615dbf0437d4dec34afb1b0852b1a76d3cdcaa5753c32edd957aa7568800eed7a797c5087c177754cfaff5ddb3ba6dd084d523b7aa7f159abf6aee38a48b6a15a4d49c5c835739089a09eeb95382ee0d55adf966099243251eeee84cf0a1bd3e5f6482d259789eea5602bf61b38a731250af0921c3c0d585af9fb9e1cead8c42614eb700cda4febba20fe27e55bb9d131c9344fcd2225d1d9e40d58875f4b7bad2826021ffe4e6867b8e1c4", 0xcb, 0xc80}, {&(0x7f0000010380)="00000000000100"/32, 0x20, 0xec0}, {&(0x7f00000103a0)="1020f5f201000e0009000000030000000c000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e00000010000003000000010000000200000022557c7f4c464834a18da3b19154b95500000000", 0x80, 0x1400}, {&(0x7f0000010580)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1a80}, {&(0x7f0000010640)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1b80}, {&(0x7f0000010700)='\x00\x00\x00\x00\b\x00'/32, 0x20, 0x1c80}, {&(0x7f0000010720)="00000000000100"/32, 0x20, 0x1ec0}, {&(0x7f0000010740)="b1da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5010000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/192, 0xc0, 0x200000}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000382c77a20000030000000003000000001000"/64, 0x40, 0x200fe0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000060000000000020c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000510ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000000001400", 0xc0, 0x2011e0}, {&(0x7f0000010900)="000000000000000300000004007800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000500000000080000000000", 0x60, 0x2012e0}, {&(0x7f0000010960)="0000000b000000000400"/32, 0x20, 0x201380}, {&(0x7f0000010980)="00000000000000000000000000000000000000000000030000000000000300000000000008000000000000080000000001000800000000020000000000000000", 0x40, 0x2013e0}, {&(0x7f00000109c0)="03000000000000030000000000000400"/32, 0x20, 0x202000}, {&(0x7f0000000900)="00008c00"/32, 0x20, 0x202e00}, {&(0x7f0000010a00)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x202fe0}, {&(0x7f0000010a80)="0000000000000000000000000000000000000000000000000000000100000000b1da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5010000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/224, 0xe0, 0x204fe0}, {&(0x7f0000010b60)="00000000000000000000000000000000000000000000000000000000382c77a2", 0x20, 0x205fe0}, {&(0x7f0000010b80)="b1da173e382c77a200"/32, 0x20, 0x3ff000}, {&(0x7f0000010ba0)="0000000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/96, 0x60, 0x3ff040}, {&(0x7f0000010c00)="b0da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/192, 0xc0, 0x400000}, {&(0x7f0000010cc0)="000000000000000000000000000000000000000000000000000000005e2ecb6b0000030000000003000000001000"/64, 0x40, 0x400fe0}, {&(0x7f0000010d00)="000000000000000000000000000000000000000000000000000000060000000000020c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000510ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000000001400", 0xc0, 0x4011e0}, {&(0x7f0000010dc0)="0000000000000003000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000512000000080000000000", 0x5c, 0x4012de}, {&(0x7f0000010e20)="0000000900000000040000000000000000000000000000000000aff13bf6bd", 0x1f, 0x401380}, {&(0x7f0000000a00)="00000000000000000000000000000000000000000000030000000000000300000000000008000000000000080000000001000800000000020000000000000000", 0x40, 0x4013e0}, {&(0x7f0000010e80)="030000000000000300000000000600000000000000000000000000fff7000000", 0x20, 0x402000}, {&(0x7f0000010ea0)='\x00\x00p\x00'/32, 0x20, 0x402e00}, {&(0x7f0000010ec0)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x402fe0}, {&(0x7f0000010f20)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x403fe0}, {&(0x7f0000010f40)="0000000000000000000000000000000000000000000000000000000100000000b0da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/224, 0xe0, 0x404fe0}, {&(0x7f0000011020)="000000000000000000000000000000000000000000000000000000005e2ecb6b", 0x20, 0x405fe0}, {&(0x7f0000000140)="b0da8ef35e2ecb6b000000000000000000000000000000000000000000000000a5d99c0d43aee315bf34b14db11d588cc6bc7b", 0x33, 0x5ff000}, {&(0x7f0000011060)="0000000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/96, 0x60, 0x5ff040}, {&(0x7f0000000180)="000000000000000000000100000001000000000200000001000000000300000001100000000400000002100000000500000000120000000600000001120000000700000002120000000800000005120000000900000004120000000000000000", 0x60, 0xa00000}, {&(0x7f0000011120)="000000000000000000000100000001000000000200000001000000000300000001100000000400000002100000000500000000120000000600000001120000000700000002120000000800000003120000000900000004120000000000000000", 0x60, 0xc00000}, {&(0x7f0000011180)="ed41002080761000535f010003000000001000000000000002000000000000005e1f1f6300000000651f1f6300000000651f1f630000000000000000c9675f30c9675f30000000000100"/96, 0x60, 0x1001000}, {&(0x7f00000111e0)="000000000000000004000000011600"/32, 0x20, 0x1001160}, {&(0x7f0000011200)="0000000000000000030000000300000000000000adda173e0000000002100000ed4100250000000000000000020000007c0d0000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30c76f1e44000000000000000000100000030000000500000066696c653000"/160, 0xa0, 0x1001fe0}, {&(0x7f0000000940)="00000000000000002400000000000000000000000000000000000000000000000000000000000000000cbc7ff08b5305ff15d7a61a574c00000000000000000f00000000000000000000000000000000000000000000000000000000000000000000000400000001000200000000030000000200024a8113ed050000000500018dceceda450600000005000700000000", 0x90, 0x1002160}, {&(0x7f0000011320)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00..\x00\x00\x00\x00\x00\x00file0\x00\x00\x00file1\x00'/64, 0x40, 0x1002960}, {&(0x7f0000000080)="000000000000000004000000040000000000000000000310000021c889933292eab88506c2bf4b219e41586b2ee7e0c3b5dc950e5fe51ed5d17fe4532cc4dda633133cc8325e596aaae7bf8240bdeba0be9e65d43d3b16139a6e1e7481364cab100c31c38db2492eb6b5719ceb4d", 0x6e, 0x1002fe0}, {&(0x7f0000011380)="ed81002b0000000000000000010000001a040000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f305ee78c74000000000000000000000000040000000500000066696c653000"/128, 0x80, 0x1200000}, {&(0x7f0000011400)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00'/1120, 0x460, 0x1200160}, {&(0x7f0000011860)="0000000000000000050000000500000001000000adda173e0000000001120000ffa1002b00000000000000000100000027000000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30f1689d18000000000000000000000000040000000500000066696c653100"/160, 0xa0, 0x1200fe0}, {&(0x7f0000011900)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/tmp/syz-imagegen2941961749/file0/file0\x00\x00\x00\x00\x00\x00\x00\x00\x00', 0x60, 0x1201163}, {&(0x7f0000011a40)="0000000000000000000000001120f5f20100000000000000000000000000000000000000010606007861747472317861747472310106060078617474723278617474723200"/96, 0x60, 0x1202f00}, {&(0x7f0000011aa0)="0000000000000000070000000700000001000000adda173e0000000003120000", 0x20, 0x1202fe0}, {&(0x7f0000011ac0)="ed81012b00000000000000000100000064000000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30559f02d3000000000000000000000000030000000900000066696c652e636f6c6400"/128, 0x80, 0x1203ffc}, {&(0x7f0000011b40)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/160, 0xa0, 0x1204160}, {&(0x7f0000011be0)="0000000000000000090000000900000001000000adda173e0000000005120000ed81022100000000000000000200000028230000000000000400000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30b41fa909000000000000000000000000030000000500000066696c653300"/160, 0xa0, 0x1204fe0}, {&(0x7f0000011c80)="02160000030000002400000000000000000000000000000000000000000000000000000000000000000000000216000003160000041600"/64, 0x40, 0x1205160}, {&(0x7f0000011cc0)="0000000000000000080000000800000001000000aeda173eb7c33c1906120000", 0x20, 0x1205fe0}, {&(0x7f0000011ce0)="ff0000000000000000000000000000000000000000000000000000000000000000000300000001000200000000030000000200024a8113ed040000000500028dcece4507000000050001baeed06f0800000005000153bfc55008000000050001120052230900000009000100"/128, 0x80, 0x1601000}, {&(0x7f0000011d60)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00..\x00\x00\x00\x00\x00\x00file0\x00\x00\x00file1\x00\x00\x00file2\x00\x00\x00file3\x00\x00\x00file.cold\x00'/96, 0x60, 0x1601940}, {&(0x7f0000000880)="0000000000000000240400000000000000000000000000000020000000000000000400000000000000000000000073797a6b616c6c65727300000000000087295ca61d5799ae891d706570a214f1d35161635ff5b689483bd4aa472211942c5acb66afa067dc100e103f3dc0a886", 0x6e, 0x5202160}], 0x0, &(0x7f00000007c0)=ANY=[@ANYBLOB="000000000000000000003f10e2d7428f7ff99d98cd1cdc1e2fa50407dbc95739e026b95176c1ba732becc3dddfc7f17060f6312da454cb4a8a8d4042fb51bc0fa9607ec5cbef3456ef2ada10e34603b0c115ab20b4fa4bd6fd3a18b258dff7e760d071cb590bc838aaeb1d9553881cf5e0d603cec2940e27ddf93e7e2a9e39e4b06ba0bc7b365a4e0e5aa57acbe090e4bc0318bf1cba3724282c64acc31060d2e76ba7fca4d49896b879ec7007728c7a"], 0x1) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_int(r0, &(0x7f0000000200), 0xf002) 08:06:33 executing program 2: prlimit64(0x0, 0x0, 0x0, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000000)={'bridge0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000580)={&(0x7f0000002d40)=@newlink={0x44, 0x10, 0x403, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x1f}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @bridge={{0xb}, {0xc, 0xe, 0x0, 0x1, [@IFLA_BR_NF_CALL_ARPTABLES={0x5}]}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x44}, 0x1, 0xba01}, 0x0) 08:06:33 executing program 1: open(0x0, 0x0, 0x8) statx(0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', 0x0, 0x0, 0x0) 08:06:33 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) unlink(&(0x7f0000000100)='./file0/file0\x00') write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000008a40)="e74a0f89e88c3aba2d1c776ab25b221b366ab0ac5db05ec87f720b51be2b46fe1aa4d1f50e8d278e8e9641885de16dd0ab77530a7a8c79b801a4c8c9567e29f0fa2752524cd11497506cf97d82f723a251df277d637259d2bb510d2b02d10e860a1edc040eee393f7888f1d66d3a473cb767afa655e1b44ccbec58fb5c93aace8c0b871aa42975bf03e7e187400662d6904e49dee4e2af4c6102ecc3f0337be6784bc4a2a31309934f6f5d25877efe0ed45a3aa006d101d91f9b2afc4f5e481a8421c4c734722ef89ca7f9b44bed7000782cfdb5a200c3a1e9a277a9655f28767a39f9e495dec1e1bb617037b6058df1ac7127ab3150232370a5f2dc482f007ff59665fcbc5eadb27cfc85ffaf1c6da0fc2bcd45e04c038a09526be1689e06771f18a2cdc8e66741fedc0648170210d1980db4781b1ac2968a88df1283eac5f941c56fb5c9fb9dfd9b97abf16d382f346b777f92d9a0342099617e1f6be516d856dcec566100be918c31b31bae1201408197c93352cfa7b68d8ff995bfaef9a1557a00f9c411e5b82818f96f53608cb486d134bcd8ac55cd0e9979c9427abe385dfd50b4096764a7d2b3fbb3bbebd826af4abb97bb0fa75214a5c2a684239686c0bda28d382dab3f293d85ba35edd9e2f22eadf3733944267001e596b8bd36e308dc58d64df4a54779febedaeece93767debfd371bb76a2b9961d007fcb4fa607f1d03ed4ec8a50ed7abe639784569d11787b4e145caceec20145d2ae15b9fd9790589dd2a3612247c6edceb22c7a790d10944acd16050ad6e3de7a4aae0b1c4fd0dbdb8bb70946abf2c95e7e1a6c46d46d98a483edb5e02b7a83dbe8f0608167e7a01671f135b613c11cb307b8e004d4306884907bfc83e0397827146f5101ce5528dd7c07a5d364dcf1857772d7ea518a9847a853ec9e75df1e14fee7c5087dcd923808ded43a63a0716fcc0661c1018847bb327633a1ff9e0dffe85c971e2458b4eca86f44e20db067b30e1cc5f4eed7064f76fec7a772b8239e24de0bc65ed7a48521ce8f9470e5289259c1a93c63251ba3cb9fd40074a66c2ae0d6ab50bc1428ea14a254aba9bf6875885fac3cebababe0abe4fa2c4aa02a83698c15fedf2dc4fe85474c26a9419c8a818515c170576ba2bdeedd7fcc6f318414a4a3d21c9cbeeda8a93420b0edf749ea937d15e3624b9ee08de930510b108de17e126ba03acd647a7ec8ddafe3ca8eddafda604424cc0e1b3229e64b3a8f334cf81062066e6d451306e00c61b0ae09a7457c7a9299acba8f28210e8bf2de29c413c27c06a885f4d76223b657e08e24e881db1bcfe5b6bfd21c10ddd08b82782e1d63f72ec05dadcb3e6f4c651acfb8e108609f37a0ebfa1992eabdbb0d59c3bdfdb6db5c8ee69280855a5a28f25f18c43da954337213621ff72b607e1881bcca05b53f1c48206c4a41ea513bb45197e9ae69064557dda4ab0f2785f5f5e9d0c7b1c81838c5d48f6376a8fcc0230bdde2471a3521ba0cfc222989b336c7aaf81664e3465f45d4d0820833451fa85ce0610dec0bb0dc7020a91f5bfdb6ddee67152a497507c391207b7aeed6bb1f6eb812380b33e42b78d1c1175d9aeef5c67894879d6200acb2aea17c5461bd2909315fb7611d72aaa92a5b1801b6f0402ae8a7a251bc5b7e652861886edcf155515c34306a96e9af5d19d29d425f30dbcc7715490343036ffc28b117c234aefd3e9a210e2248379754ee19c7b24f75ed41e418321a2ee4607e6801bf764f9aac82c13685d81865e4c68ee67d23c02937074e0099461711c5ba2c40f4218f00ff884db32bd6b6c753f352d27de3e9ef39a449f470cc9d5f0a347603ffe125365db8f7ed8db6a6ff3f054b7e3b1e1ba4e3b120abee0d791cd64f3ecab1be0a985f5a04c9bf91566b6af9a0705618a7eb7bd34dc71c6e982fe9c684d2fdcaf5ad1f4366c6b1573520b3a43d1575973976e5a2d8342836da61a919fe291d4e06dc8b8047fdaa591db96c5f708d7efc10d0febd2de603998daa218841c38f38c294f79a058c14b8451e970d45b64ab8cfd811e332ca469c1ad1a703c7889b6af2430b5a9a16efb95767cf6e176aeafe1d7f3e207b92316038a694dc77e4f9d423f023e6e92994bcacc8811afd8022cdf24268c646e4f8f1eec0ebd9adf11a338bb0b76bffdfdba5060cd8858c3861c2020a8367b65b272305871501ce9131ba58f4bee28542651ff43e4b044e08eebdac22901166e5a4690335d5c195d0d895470df40c756e553230fb20485f25e6122c131a1c240a8eeeadae8bd743e25aa7445c4d13bcfc2012a3fffd8e71840a73b0fb86e01b189ed98ffaf53317a3be72575c72b3851f5e6d58946ea53c27a2c074de878396bce0f0a8639e4cd188b0c41bc93ddf2e2bc21f4a6a2a5231612f7cefa0735eaf3fc599c018bfb788b0951173df46c9f57ac58a70364a78d4eed63659e80983ff21b441ba041a6e0f83cf5cbb46787f8032f35ee2d35fbf278ff6b0c4742b0c8e9b8b51081b3db97c75feffcf4793b50a774f9fdb8e1df5bc3b337964677d2e7148e31ea866090136940a9670ff492d88b48d7f5a9cebf32b865381303636930ac76c940454bca3060d8f3e4858b55147eccdbcdef80c64b8030498ce8e15420d1ea46c5406a55c89434765232bab57df4fd145a60191eea9b1d634968e0087083db8bd71be34739261753fba1eb47edda8df45c8bef040b152b1da174b1da36f731cd77a3ed39d6ffdd5bd68d4288c4d464e476c136d3ebd379168bf87ac8ba63a8a6a3f2430af352f2c252a0ef3ea2560870aba83ccecdd0e57ce9859821f0e1da1afec294048a1e22cdd02d5685181998ad20b26539aeb8e8fe02da9f3965583cc8109146ba182b6c8c945bc0e3098a353d07f9f28737fc73ecec7d12ac68f51135a617291d57e57a625bc7fc2174560f24a7667d4106c11922815af1fc4bfca24b625ff6953d8255a7771542d2fccaf74195c957faa3328cb7180b12efc3640eeac8dbac1aa55d236904975ea0521d8b3aa792c8c3194eb15497fb68351b2f662e6dcbb03607feb7c2f29456085d96d4dbcfbbcb2828c812f21624a301b648201d27b9e80862189e7f8e81b479301b4a55dc2aa7732b3460001d072f04c96dc34fbe5f7eaa12107dee5c4fcab6977d65d3e5a3cb2b2334fa2ed10a0ff0f02b43a16f5bfb6d4909b70af2b1b1d072e5c8b0a344ade8c7044a2a1ab9a58ff0e629a2345a9633513ac429ba96b8911c227a306fb23769d02b233b869c91abd605e4d13e92f56b13414e8b29e1e9b203154db9380bbfb66c4548df00dc5f3b13909b2bc4e90d5e3a42b6e4d6e8e1eaff7b319179975ae90e3ded62efbac60abbb57f07c348a4eec2032289ac91476297385e0ba3a9bb08de5894baaf7c6a46b4e04e75c10722dc2c5af819638b8d41c163065cd73b8be3ef6c36cbc556fe87b4d35f14211a86fb8800bcf677a17ab8808224ed0ca780338893612a686fd6d44a1b621096477f6f0760abb232d7bdacf9c7811eb0d87d69452f74c7563c583a3972083cefc8ea05513b87f6d0bc52fcca7d1fa02d5f5f06837526597ea38be7c7a4b33f53917e84e7a46021b85d416a6455cba0646a2e8106ca515022355e72f5c5c81d23b2bc2abcc3ed75db75da3301df758f797a61c33bf8bd3711c202da94de304b7ccd1049d58e13190d56627755ab3ebcdd2922bc162240b9be762247423b434122bf5173147ac981beaf9dcf95f0f28601b5d0dcea36ef0f06be3eaf57a86e0523cdc712ed58bbf081ab9ddf9cc404f6dc3e48299d457c79735587d83d64af69bbcdd1c9654514aee10728fb51ac14f5de78152a2e15b7d40189903e1c8f6decc9b9c22590acfc66c2c61028f2d55609a25e0a99beb9b542ad9b0cd8dc60f5eeea600e8567fdf1675bad45b6d10d4ed8f8bbf012ce632d9d1b73be0944eb9b475a1567c21e22f5b5db331cbc0312fa9069fa04aab947a57d28e7620ad728a589ffe214409284b9ae9fecebf5ef5a99aec1efdde05eb7f2bf80ea66cb5f4580e5eb75e8aaccf203b0e8c29275c05c8ed39029b5d74e20b92dd2b2e6525e7e4e7216735d74f7db4cfb4f76083f69bd6cb2f45a29229e38b54f1e4f5a73d579c23119f720e31d39c119f0f07141c4a461a710e28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000005f00)="4ed88ef6f971ddebcb2d85970fced30d60ce37ce03b1b6dcab31d6e4d9e84ed7d6e43289be9c65a37254edbb46b85cddc96d26184d0914a27ffe4ba441c6b79b251c420b2b2c2f63624d180e869052798b480701f55e29c556f304fbe567bf5813f71a685841d0f345fc1dc835982d44a5149029727d5f32e2659dfd905af3855f37fe552cd1a690335b5b7e21b8a43b463a43a55bc764d18eed175b218dcd94eec96d753c350f372ed4a1b4fb1227d161b3644b42854d78a7850c8e4e229643842663292f9dfbf74b0c408335a097b8ac3bd59244c58e3af3a354336cd3eb9fba00bb03a35227baf92d7ee1988de903f6471c27d952e38911cfbeeaf4bbf74cec8837b33e4f91d3704801480fe8df11f5f775de272b15ae680be807404f2cad30409df39167a7fc7887567f6fc8803ebe6a41e367743b3e27184f72ec6b94ff6b650fc4b0f5b98a5f364f929a25a09e73c8faea7dcb8d1b36bf2e30376742d90c1a6883494548a48361dfbd9b84d00d719516c4a4089dd64c57db3cacc575e9326c8032c4777eacb231626a54fa5649e54ddd232720a13166fbd1bf8d13851f8d573e77deb8d7fd2749daf95d80c94930001af6abe9346025d86c47d2ba16197c28f5b6e3d34341d4319813e15fbc05580aaeec3289962b294ba42c4064d36519af2ede4bd25efd6c91063ee748bd6da074fee1021ca19568fc4770053ca3e38b5117d12b42410f41a10d1860fafb1df37dac10dec1bc20aedfadbe72cb8477ed2803e43a6207329c38e266263ae3492f9beb3a649ac6bec1bd1c46d8079fc4111d3d8bd6ccd0b08caa7fe9dff180319d7a23abf41a9f119e101ab54f4408ee7602bef45c5ab65948bc573dfe0a75a3a843e86b35ff22f3d65945b8a5e95ca6f1a41ed56109ab102b3a1322f508a33e575984ce3bd91afdabfdd5a4310b957b66275809505683037f7e095850df8c1067955933d6087e2ef12c44bf601cd9dd414a6972377bdd7a5c43a0a2e0ffffbc2d0d516833420625a7722f286dd5e51b3c5760dabed81aca8684cac5e4e4a0199f5d5489a6afa3eceb84ec27ccb5dcab370ee93b161153d06909b043832d0d0596f09c595678bae9954d2f5b3bf63e804356a7dcaed9b9072cef63e25f0a8430b3c2ba48a9c89dfbd6f16c4f3912da9e4aeb9f8e8c8c54c0eb409eb5d3c10b960c2d4516deba55e1804a9573a4d73d6dbad52e62fa85ed0f5aa0592a9d2e55fee5ece0e61f71091e6431c3988d2ab8a5e446377ad3dcfb9a7b2cd9b58026281a10338786499c47d3287aac008d8a080fa3671d35c3f4637934fb9070cad1a909446012d6d4de71bac2adae40bf93b9992acf18a2791ead018fd0e9e043312a4b72570e0d7ad5512ad237804c6855e93128ae3f16dfb2efb8560adc8323c31eca68197b87fb5f0a81c5584457d86a032d71ddd433427dadcb36c57d49a896fe0cac510494244b7279a8d65082fe9946892d8ca67f2d9aba8e1a2d6110bbf7fb978af143d9664405e353d01ba347326f9edfe1a1061a07c5098cdd305497f7807b1249cca1aa2d22bcbc33b1a4f177a496e823fe70581fca97828e63f56d9ff431ea66e60d24b6a69cee085ecbf521a64327e9d11b4826a4a6564797ead27174e841cf809b149a9abd589773b1bd20ea39374ebe5e521a4dd47ea7638cf20dbca689c712124f630602894eb0e0b4d2bf200b03546f308b37b97619ebac4b353661dd133b4da29b12835bd5888fcaa0d81bef902d6f1726e67c64e55a75550b94418aad7c7bf0f9b09ab52cae0d8eb93f84f2c123cbdd7e628900cfb19437657a6bc3cb11ab3cc0ab9ef77b84de6681733f5615c33b1002c6cebc49793182fd5574967ff4dac233bf62014a56cfe5a11238eeeacb01b1810e8c681d960087e74c0ffb346b47b5bef4b18d7804fc0973a2b789fb84e3b3fdfe8bc66c7634d2ff7c3a87847d55e813085fe5b1e99eecac1f3788914394e7ddbed28b51ebbed57a525905e1317ae3e6217a97c397d0fcac0fbfd3e15d0c28695a86fdf74d4673c8b7f7667c649c19a8fbcd1f131a0863307a767cb82a0d983d7261a2e2784e0e0ad1a50dece973e03aa99cea39b279d704da1aa7148e0e2a9d368db0358b08b6f2bae94f7716770c5ffa0ef710e6e7005e1a38a8a8e2406f5372e496469c78df38c283e40597f8aa4f392537af107127f1ffa53adb6d8acae9c13b6ee15bc80f90cce59765233e11612c98053c95e1866b2f7d23d696d38cb2ec166cddcd7992046c7b526971c661bc02d4e5ac756f6a8b15beecd067adc562892a760bc2ad9207804f088d90a92e2577a66216ef75cd1888aac72d04aaefa3a2238d46c2a595e843aa28cb6ba9d9ecc012a3a7f433f04518313ba7e74c82a9efae57c7172ec77c2721089f83083a4a2616b9af9c3fbd175f9f1a65edbdbce33f7d5b820988a8586165dd62c64ec43ed9616a00ae6e70b54df88fde07329a84e100e3822384ea4bec1ce927b0a2a8c45b8f2523e64829a12cf2370dd66991593478b65a9cd9f5bc04a4ffbbbb31a37656fc324726514b9f59cd873874c883e108af3f235c5ba65d53dcb976290f25dc6d1d11f6712568e7acbc76c4d43b64f7de917e60b2ebed1aacba2a9f5186cd3c4ca2421aeb5c32d2885f3d75354f45c34502a39641add4e5f6d889fe7ba36d710180a6fbe9282f0547d664ccc9a0acf5f433efdb477172238d1f2abb08c6deaf05a36de315a846a8203295f4cc1d2ae879282f39a77c1a3c541466a6ef9d0a775a7d265cc420a26a33b11d8d82370638d6ec8330e36e3e3a52e62397bad6d1c543242f4521f534c78fe9f720f7ad2b821165b355be83e8c20f53dac159ea18bcff78c37b522031fa0bbffe4734d80c034a5986726a5a10e098936f9baaef118c26538cd16300097033815d2ac8536f16d8f8dfaa95355b1d4466ba70ab55032c7df3e9f19c33608178fbf0478453ad5c6a1d529cff271823d0fc338d3be19b5f06d5a26447b249085255620ddfc1da3f21e3e8df92ca94f5566c64d56ddf9e7ee97db2b407689ed38a31b4f688458d2fad6f6101c4f9b9fcebde3b880ada02d98dfa6f85bccedda2a1b0f6c08e9578cac571813b5da8acb324739b07bb2dd92dbd5fd5a5a8110730fa41e4ce53b40094a2d189e90a562722ba3c3eae37b15d7ddf380373a6b187c7e419142742a97973e9d06bf1eab7dd7772b8b462c9d19aec94b40ca888afc900f44afac20ddc94086a5740daa91a9d591c135e814f6e23321a040823b12771707fb3f85d5967d3510a82d6965a0b586ad510e323788c92487842f98d1806eaa816d445c1a245dae42d61760d76877f4c9d6123a0ea2d1709eb8f4139e428c9441607090af6cc3acfd7bc303f3e3d6f4ead52101e3e8337303c532a0e30de69edc3dda4d99df1c1a72e28a00e10aec6f1af44a7dd06ae22fa4cbe66d2272ce066b862a210c36fd2e16a0b5a2270aae88a5ccb5047475cd2c56c088c6c97907a341261e8d15601f11f3061f516527df6fe08843f6071c026021448cc7212395c6ef91f08084fe3a651b0ce144be419d415e60ed41dee21587e1657b4809a315ffea907ad817ff4b91314c4eeb424a3ec1d155af0e9601853ee8691b404fa4c85d00a39a1e1b855a7fa1e9d35eb91f062c457a34bb3332a2d167539c7f78b8ed2e854cc30dbd0a40fa3ae2b97b71101c8fafbf0959eacbb02da5df1dcc82da7818a0b9ca85779f63162627202ab93f50962d886a3b4f908596123648e933f47ada2cf0a7cd971ad9a0f281bfebf438cfbae547d4d502fa11d3e9a17193c42702f3eeca08b2c30b40a8c189f5b65fa4050b162ecefddf15eced8b60c70a2d4bab23bdfbfd83008219bf3a954e81f372b86d0a1773656b0f480da9ce215fd7ff051812fbc7bc8a6ffefd371764a906bcc35484d35a713e251bc344b2054d019c2bb75c5ddcf63b267eb1ef09792122946e48371450e69af59217772ea6997c62cd3e75ef928439e61acf5c00f7abe5b226e3f0c49e8d89315d386332111db9d19b746dd6bca8e5dac9e16e7e12bb2af690645a0092ffaac6b90a457bad32067da02bd45f6b3a37b40c36c319dcb86e3cb019d9e6a1df8c69d294b676a95b4d305658815d0e3fd1ccd5963e3f9fae89e98b283b2b32ef56603f6125221a817c52e341182993ef09609854ba010258fc4c1bccd9f0f41755a48bdf61c59d93f8ec38466b96cf6e6aa2b2ea695e74baedf44085f8ef0dd17b34052d747d36318fda11949ae4651d447719bae033cf025ac45e201c5d6998176c8fa3c91d74972bd4c32eeaaef456b82b533263fa542c47a024c1841152416bf842d58277c0429a3a47bf6e55a17646aa17851d86800bb14bc2adc6b9e599a04c463c13e8c828cf8b891685e155137bb39668355476df5f4712e9e55b288b9afb62bb46d9c62c5e40f68b04c4e8aafef667ea569466ef8c353f8171835df14bbce2f4afde6a2c6d2699b0cd7404cd54e6d9747e99d5627a435c9bc2b6183162849e4cf9dabf186777180064fe38eff9975a7a43de9d9ba188e2830021838ebab98e3e23c7dd95337454cc8694867bb6c8baa20681e056c3598255ded5c21f0ee048d510a247a8bf58de6d76a0aca4fc54d507bf34593a6a4f84f6dc6fb97807565b036c61c793295db83cea15102ca36815512dced3d43b20efe95da99cd37ca518de933b047177e2d3e2bd71a452d385b78d6ac0f9b3b5529741c6e1bb1c859ea7b1533ed667fac663e5a98e666009af497d537881ded582d00de9d06283489786db1a4a91886b8b0e7f47b24163b219ad41c4c00af8b0bc992daf65ab73a0810ddf18fd3dd3425963a571040797d7668c4ef5978a4fee941a8a855bf18dfeb21f3ca69fa78f3415b7ca628f6efe0c3c660cbb0c85da0ef7eb6200f7fde3a6a2a1aff5f110941941a4b6d26b6bbb32b6f0515800804bd1e38e3eb3386402d5895d6128afed2d8719b203b2dd05a3dbd4767704a050c1823a810998b98003053bc60a29d9b5c59d5d90ad20705ec2d8afbb05147ebac3df452a923dee2c65c12f377716cb52dcb073775b702d17f7863f8f723d07e5e275c878ccc1cb532f96e8a33bfa9102898dc6f722263bfeff93af5997f52241313c58e6704303268dcc8943129ac80fadb3a8b1baacee271aae9bc9ead57e76e938904c8290aa03bd6c04ef2fb985029522f87c078340dbf22db8162b55a908ff2f15072a6f56adb7e42da29027cdb059cb67ba907bea7f7d41952a44812d6f06d6570f9d159b1b09e97ee7bce68128d42af582e026f9a2ecda0e9d08345ce0acc948d3263a305ca77825bb903fb23ced626b944ba2b7f5c8e9af0ddc0afe126760e3b584c9cb1e68287a116051b3c8b8489a3ae607d199799a6fa619e8c775575e7fe090cea3ff097c66eddedcf213ee483401a126c459e33e8bc13e090712162632d94621424c16e7cf04902474b0a54b4425ff6d6e604f747bf0626043db6cd912cdd391efa3f655eea2b5f9bcb57a8ee495d095532fc9e5e1ea60d16e9c4ade93821f6449b1a3bfb77a6d25d9ffeecc0c72f9f4350cd733138259f0a348c7f7ca4a42e93e6d5180d579696a3c1103b5830aa0b8c5c6a7672d9af608b9ac95ecab659460de6dc814c870449f22a5da81d4c6475f56fecd1396b0ac7ce189e990b4232255d26d436de7edb5f5722033063cfe443a41d8340df464b137ba021b818cf629a7a435f48b08ebb46ba28d468d28ae280438b92a948e76dc7cd79dd7b0240c4bedf5b5402c4c1f9c0b095b8ea90336b2fc2a5f21c07cc835ef5d3df5c1c662b4d99ad72f6c8becf9edf624993fd8468c2326e627eb5e461940754642dfcc5dcea8fd61658b4a862a3c261968ca69bfee43e0a28ca600f3c734b48094bfa976d3bec1c8f0e92d58f12c243b5cbe45eef24c7c4137d33f39a7751bcc65b744d934c55754a3cfe64f7cfaf32cc68eeeec707ed83df0f0da6d6e8bab6d4d5c9c034da3ef439330aa3035be1867504e9e66127297f91c63eea345b3060bee7ace6756e153145ad202b67a318f86bce20cbbb67321d48b0b7403336f0e615f480d675daad809bc61a0849c7ee803dd733c1d720417117789a54d7cd1daa963ad8cc5b3b32f4292998c3b6d6da5abc8dd4314233580d28f4eb94453f8eba624d77c2970f358d1c7477c1cf7f81c3a90516612156cdf63c0de6a57e7e7f05d958ce56d1047318f1e920cce97dd193d8edd0ab2559032770bd521546ee1a17d77e8ab0a8e8242ea2ef383efc0b94892c8d8b15aad9818a4f77cba6b62084e4a618f879c004488832906d7df5e1c25b117b9dd3446a325a6d91fb048bfc0c66005e95cb27e6022de93efa390672b4115ec31e27ca8a0d3a939751b1b11a44a5335f3c0bdda6c343ba8c3de4bd92fb2f4d7eaedc86b9bfe2a577e545cb72d7a477e772c4f94e4d083655074ed6d6f700216e252be2023618f60ea0c969d462b8de088e8c08e5071ef363009e9dc9f87b53b4873c4151ab1fc56295a38b84ee78f3c7d00656a0592d440773c6f49c6191eac61c5c053c2db9cefbbbc3d44a20a27bc2d579fc9b9a2d3eec9ca2ec39a7546dace2b0d7159005c23ad18d93b6f7ae0fdb2e956904b55729357e4cd6f684d20267b2f6df6b8e174baabbbc9cf1de73e649f3b7634486f38118369a449582ce78a49d613bf372aa07e874ce12fd3526880e407abdd34149b221395da84d5ea2f2a6fa93b066f02bf7494d37ac51babe5c595b8b62b7a79d49256ce1c4745ef97118bd2c2fa46ad7c0ee80d85c0e4fc18ac1cb4228db2e091fa3dcdd147ba5a40d66d63acce7d22d1744fcde36918cccd6eb2e5a0520f76f4b01b2a3254b5ad7bcc8eef0b4316498e4314e34face29b662ff9afcab5682f0cce68efc47a37c5a4613928b6e88bda2ddfb47a6fde48277866b9d9236b3bcc880e804048ac2cb5d7aaf84ad9a3e0db1a6d941736f0ae43d8f46783dec0909ba2f5bfe87636d10b33be30c70c8c212de4c15c9c38b65b1e71f792a490515f8ab8cc26b8a3b1db58879fdab140e313ac30168beb519c49b5c2647fa6f66ae0c649427b45d4ce3910e1459b965d4c1fbb2060437804bc26535217c56a27cd495931a2f874a4241dbe74be86e0665e341f71514cb22014858041269917e30772d9c672e6c76ba1e69603d289410ad5a359c9a1aa867da21e2a502a232fe20ce14bb6b127d0250eaa2eb90f412f9e4135b8a079db264bd6af08e36f8d3cc9678751e2522150bc7f5fd773511dc20b66a392768b12b5a6e1e48f341b9d88cd9bb90f3f8e54a1d7df5e5a3e5ac967f956ccbb3d720b26ed8ed7aaa65093b8c92a15c0015a678df3d678637f11682b98f9728cf1dc4ff890b52e6047a0be9631022ef56e5bfdcbd5fedf79cad3cd52f8532cfc6a747853fd55cc0314a4f76a7b0a85e79af9d0aabeec019080808f7d184f6b4ce9e65b548144392a0e942ee236a891824e785510d76d095679cd373360d0aebe03dd6ec243c21b4c1303ea0d14aecd7c20f4baf10b88416d1a8b0cacc72a3223584dcfd7e73f045f26e7da252e3efa4e7bed47850b438c4d44bfc36e26411fa0b05b8492a530ba9ff44ec8075b08cb1a4b0747f77d81b6462a6f4250370004f360da5fa711916b78738015404fbe57458cb448f40d513c3555a18f3a573ace8a837f4c380ae09c1bb8f14069c9f8ddc17b58ac3d8b933c4367254faf0bef639403163db73ad671ee9378c132e101288f5b5acc0462d88ac2c180d9658eccec5cd522c66d9a2e1647e074acf0ce242fb4fafab4b1002a0b93be0cffc10e5be5a0452f01079b6d3fea84e8046e4db8db1e32a9ced18b625f6cd83f6b3b7e67c67653ab148dc7327b7b5e1c61c784c06b577a2a8602841f2aa2dbedb53af0284afd82bce01c9d453e13c18a21f307a7e07b65c393a496205fe594b28e37613dea1aaecf655c4131a6de551a29fb2b7f9a4143b8d038c6b2ef3f4e8b3f2e558f283c6b97b9781bf312076cb3873567b9e9db764791bb5908377f4b0cd11015f31810e7374ac6962b7b8c5f88c171374876854bab5f6146b51f552b0a10debb0fa17e3b568ee8142aac2fb2f4620906934155e63476fa269aade53fb13adc9994939f0a7e0062f65757ceee5f09970137dc1bdb29c4ae3ce8885492a9eca6579aef6d36f611924fd7d4b1f441c5b8eb141be70abcbcf4de13d0bf0bed13ad57b045dcea72925f96b9c2970d96d59c4dad5d24c24166fa8c96ac465f1b7f6a2ab1bcc5cbf28e836840223f57c3583045761fe5e763579f089ed5ce9441074a3272f4da61b11814e8cf4a5e89c3a4c4d002c0389303d03cb94a8810ab8c4d8adbca2d9e2ea28b13fad20f0243388853cd130b59212688b4f06d602c8279604e5fa9dd3229362f78fa5d575e672521ff5f003183fe3ebc561a2268c04c22e6f7b246e936d0c03df4a1f14513a3e3117be78619fc85734dfc69da60c69f0554a9191b96a22035db989b9203216544f18a8ae0da105353621dc4228cbd606d9950d1dfc25f9b1761df9ec9044145e313a69f255c6ac5d333ad258c2b4bd743e0d1a84ea82f0d3863e7cb4ff26427cd1004ae703f9127b686f538117c9427e70c546929fa324798aef128a2ee8cbb0c1c3d9e5a76b7b080a39ead73e3d04c4784568c2b265514f86ae30c38896ab6a8af44f31d8127742092a377382c229df4ff232c967913d3a791977f34b5d62d1d53d24b3721a7c8b4b50f331584eae00873888c18008e061133160a2e7121b6b46c77f640253305bcdac5994a42fc00f55c933d392ae043638afd87b100cdea662e02675c982cffb108f4b79120939ed311670b0fb275843eeb59ff7be1dd8a164acc52f2e70cf9b1f134a0c3115e2e4655177da2f1c157ae1a08394fbeec4621dec09958550e0aea88a884ae2e2f5b66b1dea640a397b144bb57c7c1abee30495cf774e9949e5384329a72793532156299a999321f4a0f38197d4c9fe05af3218e0d9c3545d56c1c36ebe9a0f7812697a263c88dc7bdadd222f3667225d82212007f7a98122101c1fd4906dce78547ca4606f548ea7baa0680396d39df39b973914cc089cb4b654a921e3e1b7b14f1ac878e9407fcfd9a57382d4f5554dcbe3838b8fe9c0df7f15db03bb4efed1572be0eaeeafb1a86f41dc1b384e398dccfb5ba2c960d71bde423a044381fc1ac5a37f0f9dc94fab6df7ac4f3d6b69363cc2736ee8a0658e39c1cf3ebc75fa86446ea649a6620350043193aeb92081178735045a417af26f0000404242aa21ffb0f2d299117728f25de48ef2aa9d9c1c2126ce29954b03d291aff41253228984ae394e276030b8bc4c43f2cce3c859aaa7716ed249a6352729d7145edafc94d40c88c825fdd6e84e0eccdebc5b4ede24d644a4e419924e88d90e17f588f91be0d2c12e3a8be22b72f6975b9c89909311f5267def47734da1222310bb84ad9ddf720b5c7fa66cabc12d4143bbac12c9836110dea15d91abfbd8e4de5e59123359114329eb4d424f112f05c40bc744e4a93ce21f301cc7c128ea786c148fbb10636c1ced8d6c31f21556575cb1f88fde5fec9ae1a4c210e3cc36b948a08195b91736c3fafb3068a945ef4cf330e0a38815f28b3526ada9b533acd1dded425d4f4226dcfe372ed428f7a538af19bd52b600a612d3f80fdafaf8ee6d74d96bbda6d609523c3ed990735b168065930a113f612512e514578fa087586c563cd814de3b8e0cc2e6ac78c34aa20a7898f3d6ea58372a75d2ba8327c9fcb75767073d31d3db42618e4823cbc99c24c49372a2b7ffe56790a588252b10aa39c003c31de3b5681fc116836967ee94a4bbe48482b34c128aec3642fbca0182f1af0156bb8adceddc371a2a390c86d8fa1315c57c70b57a324b2095cf65602e4eda547895bc3926e1428f84ab6e7cc9537b02e82dafabfaa530ba9609e6a96900793f92b0412e79b413cbe441e0bc71aa3b1c96d6e384fbba4e8ae5f048285aca50ae7edf75df40d27524d55f51247589ed163b7ceb1c3d827fc89806f0063adf3df39ab96d7ba4252271c15f8568f09abdb244d4f4e2987cc024de3f1eac1ce6be2109049884cfcc5c8c765ae0a4b9ec1a0f5c592b6670926704609fe8c34be24cba4214d69b4b09c3864ae37685ad8aa90204a45952f9a96bf7da4bf65c79903717b6fb266538338ef1d641e178539c06a3cc1dc78a26d6f10abdb99090c6a80295e11957c0d4dbb0ea0c2b49d9ce60ae0b5035e0602091c051ad78c1e694f0ef9b0ee15c4277a96cd602c0415bf889ea64e40ca7b260a3d08a02d14c90a0d90f00b0850d22b75725d72741ca14eaadbc25525b33a23f5756715c8f3cb8a15008942fc930f5c825a59ccd3501772e1ed617f36388b1c2600292eb97873c9de19d7dd24ce058382a10ecfa8a1b465e969035837919591685c9e481a42bbc21383b3e47fdec2ba69378f08d87840ef90f169ec5911a8b0f05f209352b8d8c7697d95d6dac9c52426fca95d889978efcfbfb0a0df9147cae1e01d36045db64f3226415bfab7a63a436e745874da70dddde244129f65c4c781e47e68076c83ae4aad9deb8aa585597e9bd9e838004329b3e41f56bcc728eea49ae6a6d34f4469026c7b6488109bca2821f087478415e0b5884613ec6e041aa074ff5fc2ed1eb95b98dae81c7c10fd121ba53f36ac0e0355bbe948364d220aca48d67d2f1434d059aae12e1dc38207e767280aa691515b3b466ce119f7fab2713453a6b329630c608724eadaf9caf9205ef873d5a14518f19e485aa82f7dafd68e5a6f5e0338546d7d623e6c4a7930e2a51ae2662619d665c55d1152b81e8e5f41e5ee0d6afded949be947e3a715a5d852ac7688650031563ad15da58c8d9d4c237629cc88fd16e39ef95c47a75b8a2d090c332e6adcbfeb0d4a8e9b38e12e0655bc585a6f9c3f39bff2d46c27a2c18d4aabe40601b8226ffb93538e410c9e8feed1d3e6c444f14e7f8830a4268bd98aed0f94ee3b9a2d13928cc5aa2d303650e79fa536bd5baef42703a5c652c197539f92536dea625889b5c59cb4852e8e6c32c780d84fa868937f0a0adda24a7fb5d8f9a921cca12adb4a6ff47c13d59b13fc81ff86c50aa06a25075af6de2f65493ea48fbad8e8eb9b16d575a5461fc53628ff2588aebb42a9f1a950bb7a4af31233f0ce7c0f41e3203fc287f1967e6eb659bae3d631a02ed6ff1849a45204a0d8a91eb93e24eddfdaf61b1f706eb33bb6017165ff0c3eee4b2e18061bab00004e4af31edb70fed67ff6f720eddd48b3e6bb511685da2ce0439ef1ca6d6df34a65856e84d09b5f3d3093ac5bf604d89310bdedfeaceec9219ff5c27e1d4365338b294c6a6d5fa404b10f1067d1fbe17dc9981303e2948acc4354fe778d40578394d540147fa78b29914849a30b9b1a438bd1f7a9cfe188acf617a1504249eead1a361aff911b696c4cb2d5c6d20690ff0a9c8fdce87625b38756bee80517ddfdbd1473d983acb5b03", 0x2000, &(0x7f00000011c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:33 executing program 3: syz_mount_image$udf(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x100000, 0x28, &(0x7f0000000bc0)=[{&(0x7f0000010400)="040002008b", 0x5, 0x1}, {&(0x7f0000000800)="ae", 0x1, 0x6}, {&(0x7f0000011b60)="020002002700010076b5f001ff070000002000006000000000200000e0070000", 0x20, 0x9}, {&(0x7f0000000180)="002a4c696e757820554446565300000000000000000000000405000000000000a0fd0fbfeb942317ffda3763e1e76a0c555f4060da359564fba97c8184cebb254ecb93de7508481b7f5b8c8d71665c25f1166c79dfd7baa5e0f6a65d937fef89401f320eecc8923664b65e15b6dccae5232c7f29a335d176924667dca4f5ab1e79a66a52288b", 0x86, 0xff}, {&(0x7f0000000040)="e282b240b5d6d9224ebed0c6c76cb59ba50c88e8844b84d22bde2ca8a5d297822add7615677e", 0x26, 0x1ff}, {&(0x7f0000010000)="0042454130310100"/32, 0x20, 0x8000}, {&(0x7f0000000ac0)="004e535230320100000000000000000000000000000000000000000000000000e68527d15138f260a3fd8f97b67ecd04dd1a83b427f95fe92bf9a2b3ec4cb8e8f3b7f4ac1174bc2658169baf625a246a0f22dafce1b6179e25252a5239bf7bf5a5e2bd290f71bc93cbb456a31d8f792794becccbda497e0c65b2", 0x7a, 0x8800}, {&(0x7f0000010060)="010002001d0001001aaef001600000000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010002000300010000000100000008313233343536373831323334353637384c696e757855444600"/128, 0x80, 0xc000}, {&(0x7f00000100e0)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667320322e33000000000000000000000000000010e607090c0c00354c1256002a4c696e7578205544464653000000000000000000000004050000", 0xe0, 0xc0c0}, {&(0x7f00000101c0)="000000000000000001000000000000000000000000000000000000000000000006000200660001006ba8e8016100000002000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000", 0x80, 0xc1e0}, {&(0x7f0000000b40)="000000000000000000000000000000000000000900020000002a4f5354412055444620436f6d706c69616e74000000005001000000000000000200001000000000000000000000004000000001000000002a4c696e75782055444646530000000000000000000000040500"/128, 0x80, 0xc2c0}, {&(0x7f00000102c0)="00000000000000000000000000000000002000008000000002400000002a554446205370617261626c6520506172746974696f6e500104050000000001000000200002003801000070000000f007000000000000000000000000000000000000050002007e000100879cf001620000000300000001000000002b4e53523032000000000000000000000000000000000000000000000000000000000000000000000200"/192, 0xc0, 0xc3a0}, {&(0x7f0000010380)="0000000000000000000000000000000000000000000000000400000010050000d0020000002a4c696e7578205544464653000000000000000000000004050000", 0x40, 0xc4a0}, {&(0x7f00000103c0)="07000200ae000100927f3000630000000400000005000000002600004d000000001600007500000000e0000090000000001e00000101000000140000f5070000", 0x40, 0xc600}, {&(0x7f0000010480)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00'/32, 0x20, 0xc8e5}, {&(0x7f0000000080)="002a4c696e75782089bc1a03ef7eb9554439465300000000000000000000000405000000000000", 0x27, 0xc95d}, {&(0x7f00000104c0)="0800020061e400000000f0016500"/32, 0x20, 0xca00}, {&(0x7f00000109a0)="05010200e4000100009920012100000000000000040000000100000400000000000003000000000000000000a57c00000100000000000000800000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001100000000000000000000008000000001010200b10001001b5818002100000001000a000002000020000000000000000000000000000000010102004b00010059b01c0021000000010000060002000022000000000000001200000000000866696c65300101020078000100c1751c0021000000010000060002000026000000000000001300000000000866696c653100"/320, 0x140, 0xd8a9}, {&(0x7f00000104e0)="000002009100010021d4280170000000002a5544462053706172696e67205461626c65000000000050010405000000002000000000000000ffffffff10010000ffffffff30010000ffffffff50010000ffffffff70010000ffffffff90010000ffffffffb0010000ffffffffd0010000fffffffff0010000ffffffff10020000ffffffff30020000ffffffff50020000ffffffff70020000ffffffff90020000ffffffffb0020000ffffffffd0020000fffffffff0020000ffffffff10030000ffffffff30030000ffffffff50030000ffffffff70030000ffffffff90030000ffffffffb0030000ffffffffd0030000fffffffff0030000ffffffff10040000ffffffff30040000ffffffff50040000ffffffff70040000ffffffff90040000ffffffffb0040000ffffffffd0040000fffffffff00400"/320, 0x140, 0xe000}, {&(0x7f00000007c0)="19", 0x1, 0xffff}, {&(0x7f0000010620)="09000200d70001000acb7600800000000010e607090c0c00355f4d010100000000000000000000001800000000000000000000000000000000000000000000000000000000000000010000002e000000b0020000d0020000002a4c696e757820554446465300000000000000000000000405000000000000060000000200000050015001010200"/160, 0xa0, 0x10000}, {&(0x7f00000106e0)="020002002200010076b5f00100010000002000006000000000200000e0070000", 0x20, 0x20000}, {&(0x7f0000010700)="08020200f5000100964b080000000000d00200005a000000fefeff000000eafeffffffffffffffffff1bd90000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0500ffffffff00"/118, 0x76, 0xa2003}, {&(0x7f0000010780)="0001020037000100bb77f001100000000010e607090c0c00354c12560300030001000000010000000000000000000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e757855444600000000000000", 0x80, 0xa4000}, {&(0x7f0000010800)="00000000000000000000000000000009004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000000000000000000000000000000000000000000908436f707972696768740000000000000000000000000000000000000000000a084162737472616374000000000000000000000000000000000000000000000900020000200000000000000000000000002a4f5354412055444620436f6d706c69616e74000000005001000000000000", 0xe0, 0xa40e0}, {&(0x7f00000108e0)="050102007c000100e5c6a8002000000000000000040000000100000400000000000000000000000000000000a53c00000200000000000000440100000000000001000000000000000010e607090c0c00354c12560010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e75782055444646530000000000000000000000040500000000000000000000000000000000000008000000440100003000"/192, 0xc0, 0xa6000}, {&(0x7f0000010ae0)="050102003a00010060ffb0002200000000000000040000000100000500000000000001000000000000000000a57c000001000000000000001a0400000000000003000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e757820554446465300000000000000000000000405000000000000120000000000000000000000100000001a0400002300"/192, 0xc0, 0xa6400}, {&(0x7f0000010ba0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0xa6600}, {&(0x7f00000110c0)="05010200c3000100b831aa002700000000000000040000000100000500000000000003000000000000000000a57c000001000000000000000a0000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001400000000000000000000000a00000073797a6b616c6c657273000000000000", 0xc0, 0xa6e00}, {&(0x7f0000011180)="05010200000001009d72c0002800000000000000040000000100000500000000000001000000000000000000a57c00000200000000000000282300000000000012000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e75782055444646530000000000000000000000040500000000000015000000000000000000000020000000000e0000290000000000000000000000281500003100"/224, 0xe0, 0xa7000}, {&(0x7f0000000640)="01010200c00001001b5818003000000001000a00000200002000000000000000000000000000000001010200c40001007ae92c003000000001000116000200004000000000000000100000000000084e6f6e2d416c6c6f63617461626c6520537061636501010200e4000100f0a31c0030000000010002060002000021000000000000001100000000000866696c653001010200d200010039481c0030000000010000060002000027000000000000001400000000000866696c6531010102002e0001008f4e1c0030000000010000060002000028000000000000001500000000000866696c653201010200dd000100315b1c0030000000010000060002000028000000000000001600000000000866696c653301010200e7000100f79b2000300000000100000a000200003c000000000000001700000000000866696c652e636f6c6400"/352, 0x160, 0xa8000}, {&(0x7f00000113c0)="05010200c90001004b3404013c00000000000000040000000100000500000000000003000000000000000000a57c00000100000000000000640000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001700000000000000000000006400000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727300"/288, 0x120, 0xa9800}, {&(0x7f00000114e0)="0501020052000100beaba0004000000000000000040000000100000500000000000000040000000000000000a57c00000100000000000000000000000000000000000000000000000010e607090c0c00354c12560010e607090c0c00354c12560010e607090c0c00354c12560100f9a901ef9a5521571f13720133407b53000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001000"/192, 0xc0, 0xaa000}, {&(0x7f00000115a0)="01000200a40001001aaef001e00700000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010002000300010000000100000008313233343536373831323334353637384c696e757855444600"/128, 0x80, 0xfc000}, {&(0x7f0000011620)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667320322e33000000000000000000000000000010e607090c0c00354c1256002a4c696e7578205544464653000000000000000000000004050000", 0xe0, 0xfc0c0}, {&(0x7f0000000980)="00000000000000000000000000000000002000008000000002400000002a554446205370617261626c6520506172746974696f6e500104050000000001000000200002003801000070000000f0070000000000000000000000000000000000000500020005000100879cf001e20700000300000001000000002b4e53523032000000000000000000000000000000000000000000000000000000000000000000000200"/192, 0xc0, 0xfc3a0}, {&(0x7f00000118c0)="0000000000000000000000000000000000000000000000000400000010050000d0020000002a4c696e7578205544464653000000000000000000000004050000", 0x40, 0xfc4a3}, {&(0x7f00000119c0)="0000000000000000005715e0e024eda82d00000900"/32, 0x20, 0xfc8e0}, {&(0x7f0000011a00)="08000200e80001000000f001e50700"/32, 0x20, 0xfca00}, {&(0x7f0000011a20)="000002001800010021d42801f0070000002a5544462053706172696e67205461626c65000000000050010405000000002000000000000000ffffffff10010000ffffffff30010000ffffffff50010000ffffffff70010000ffffffff90010000ffffffffb0010000ffffffffd0010000fffffffff0010000ffffffff10020000ffffffff30020000ffffffff50020000ffffffff70020000ffffffff90020000ffffffffb0020000ffffffffd0020000fffffffff0020000ffffffff10030000ffffffff30030000ffffffff50030000ffffffff70030000ffffffff90030000ffffffffb0030000ffffffffd0030000fffffffff0030000ffffffff10040000ffffffff30040000ffffffff50040000ffffffff70040000ffffffff90040000ffffffffb0040000ffffffffd0040000fffffffff00400"/320, 0x140, 0xfe000}], 0x8000, &(0x7f0000000300)={[{@umask={'umask', 0x3d, 0xcc}}, {@anchor={'anchor', 0x3d, 0x7ff}}, {@shortad}, {@unhide}, {@uid}, {@lastblock={'lastblock', 0x3d, 0x7}}, {@gid_forget}, {@iocharset={'iocharset', 0x3d, 'cp855'}}, {@nostrict}]}, 0x1) r0 = open(&(0x7f0000000280)='.\x00', 0x0, 0x0) mkdirat(r0, &(0x7f0000000540)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) unlinkat(r0, &(0x7f0000000140)='./file0\x00', 0x200) 08:06:33 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000080)=ANY=[@ANYBLOB="840100001f0001002cbd7000fedbdf25fc020000000000000000000000000001000004d302000000fc000000000000000000000000000000ff070000ff3400001f"], 0x184}}, 0x0) 08:06:33 executing program 0: r0 = bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000280)={&(0x7f00000000c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@const]}}, &(0x7f0000000180)=""/206, 0x26, 0xce, 0x1}, 0x20) bpf$BPF_GET_BTF_INFO(0xf, &(0x7f0000000100)={r0, 0x20, &(0x7f0000000080)={&(0x7f00000002c0)=""/198, 0xc6, 0x0, &(0x7f0000000000)=""/113, 0x71}}, 0x10) 08:06:33 executing program 0: r0 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000940), 0x2, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r0, 0xd000943d, 0x0) [ 301.146644][ T7096] loop4: detected capacity change from 0 to 167952 [ 301.166787][ T7102] loop3: detected capacity change from 0 to 2048 [ 301.171072][ T7096] F2FS-fs (loop4): Invalid log_blocksize (16), supports only 12 [ 301.185231][ T7105] netlink: 292 bytes leftover after parsing attributes in process `syz-executor.1'. 08:06:33 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='freezer.self_freezing\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x1000003, 0x28011, r0, 0x0) r1 = syz_clone(0x20000, 0x0, 0x3f, 0x0, 0x0, 0x0) process_vm_writev(r1, &(0x7f0000001540)=[{&(0x7f0000000200)=""/95, 0x5f}, {0x0}], 0x2, &(0x7f0000001780)=[{&(0x7f00000015c0)=""/227, 0xe3}, {0x0}], 0x2, 0x0) 08:06:33 executing program 1: r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x0}, 0x0, 0x0, 0xfffffffffffffffd) keyctl$setperm(0x10, r0, 0x0) [ 301.199162][ T7096] F2FS-fs (loop4): Can't find valid F2FS filesystem in 1th superblock 08:06:33 executing program 3: syz_mount_image$udf(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x100000, 0x28, &(0x7f0000000bc0)=[{&(0x7f0000010400)="040002008b", 0x5, 0x1}, {&(0x7f0000000800)="ae", 0x1, 0x6}, {&(0x7f0000011b60)="020002002700010076b5f001ff070000002000006000000000200000e0070000", 0x20, 0x9}, {&(0x7f0000000180)="002a4c696e757820554446565300000000000000000000000405000000000000a0fd0fbfeb942317ffda3763e1e76a0c555f4060da359564fba97c8184cebb254ecb93de7508481b7f5b8c8d71665c25f1166c79dfd7baa5e0f6a65d937fef89401f320eecc8923664b65e15b6dccae5232c7f29a335d176924667dca4f5ab1e79a66a52288b", 0x86, 0xff}, {&(0x7f0000000040)="e282b240b5d6d9224ebed0c6c76cb59ba50c88e8844b84d22bde2ca8a5d297822add7615677e", 0x26, 0x1ff}, {&(0x7f0000010000)="0042454130310100"/32, 0x20, 0x8000}, {&(0x7f0000000ac0)="004e535230320100000000000000000000000000000000000000000000000000e68527d15138f260a3fd8f97b67ecd04dd1a83b427f95fe92bf9a2b3ec4cb8e8f3b7f4ac1174bc2658169baf625a246a0f22dafce1b6179e25252a5239bf7bf5a5e2bd290f71bc93cbb456a31d8f792794becccbda497e0c65b2", 0x7a, 0x8800}, {&(0x7f0000010060)="010002001d0001001aaef001600000000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010002000300010000000100000008313233343536373831323334353637384c696e757855444600"/128, 0x80, 0xc000}, {&(0x7f00000100e0)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667320322e33000000000000000000000000000010e607090c0c00354c1256002a4c696e7578205544464653000000000000000000000004050000", 0xe0, 0xc0c0}, {&(0x7f00000101c0)="000000000000000001000000000000000000000000000000000000000000000006000200660001006ba8e8016100000002000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000", 0x80, 0xc1e0}, {&(0x7f0000000b40)="000000000000000000000000000000000000000900020000002a4f5354412055444620436f6d706c69616e74000000005001000000000000000200001000000000000000000000004000000001000000002a4c696e75782055444646530000000000000000000000040500"/128, 0x80, 0xc2c0}, {&(0x7f00000102c0)="00000000000000000000000000000000002000008000000002400000002a554446205370617261626c6520506172746974696f6e500104050000000001000000200002003801000070000000f007000000000000000000000000000000000000050002007e000100879cf001620000000300000001000000002b4e53523032000000000000000000000000000000000000000000000000000000000000000000000200"/192, 0xc0, 0xc3a0}, {&(0x7f0000010380)="0000000000000000000000000000000000000000000000000400000010050000d0020000002a4c696e7578205544464653000000000000000000000004050000", 0x40, 0xc4a0}, {&(0x7f00000103c0)="07000200ae000100927f3000630000000400000005000000002600004d000000001600007500000000e0000090000000001e00000101000000140000f5070000", 0x40, 0xc600}, {&(0x7f0000010480)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00'/32, 0x20, 0xc8e5}, {&(0x7f0000000080)="002a4c696e75782089bc1a03ef7eb9554439465300000000000000000000000405000000000000", 0x27, 0xc95d}, {&(0x7f00000104c0)="0800020061e400000000f0016500"/32, 0x20, 0xca00}, {&(0x7f00000109a0)="05010200e4000100009920012100000000000000040000000100000400000000000003000000000000000000a57c00000100000000000000800000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001100000000000000000000008000000001010200b10001001b5818002100000001000a000002000020000000000000000000000000000000010102004b00010059b01c0021000000010000060002000022000000000000001200000000000866696c65300101020078000100c1751c0021000000010000060002000026000000000000001300000000000866696c653100"/320, 0x140, 0xd8a9}, {&(0x7f00000104e0)="000002009100010021d4280170000000002a5544462053706172696e67205461626c65000000000050010405000000002000000000000000ffffffff10010000ffffffff30010000ffffffff50010000ffffffff70010000ffffffff90010000ffffffffb0010000ffffffffd0010000fffffffff0010000ffffffff10020000ffffffff30020000ffffffff50020000ffffffff70020000ffffffff90020000ffffffffb0020000ffffffffd0020000fffffffff0020000ffffffff10030000ffffffff30030000ffffffff50030000ffffffff70030000ffffffff90030000ffffffffb0030000ffffffffd0030000fffffffff0030000ffffffff10040000ffffffff30040000ffffffff50040000ffffffff70040000ffffffff90040000ffffffffb0040000ffffffffd0040000fffffffff00400"/320, 0x140, 0xe000}, {&(0x7f00000007c0)="19", 0x1, 0xffff}, {&(0x7f0000010620)="09000200d70001000acb7600800000000010e607090c0c00355f4d010100000000000000000000001800000000000000000000000000000000000000000000000000000000000000010000002e000000b0020000d0020000002a4c696e757820554446465300000000000000000000000405000000000000060000000200000050015001010200"/160, 0xa0, 0x10000}, {&(0x7f00000106e0)="020002002200010076b5f00100010000002000006000000000200000e0070000", 0x20, 0x20000}, {&(0x7f0000010700)="08020200f5000100964b080000000000d00200005a000000fefeff000000eafeffffffffffffffffff1bd90000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0500ffffffff00"/118, 0x76, 0xa2003}, {&(0x7f0000010780)="0001020037000100bb77f001100000000010e607090c0c00354c12560300030001000000010000000000000000000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e757855444600000000000000", 0x80, 0xa4000}, {&(0x7f0000010800)="00000000000000000000000000000009004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000000000000000000000000000000000000000000908436f707972696768740000000000000000000000000000000000000000000a084162737472616374000000000000000000000000000000000000000000000900020000200000000000000000000000002a4f5354412055444620436f6d706c69616e74000000005001000000000000", 0xe0, 0xa40e0}, {&(0x7f00000108e0)="050102007c000100e5c6a8002000000000000000040000000100000400000000000000000000000000000000a53c00000200000000000000440100000000000001000000000000000010e607090c0c00354c12560010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e75782055444646530000000000000000000000040500000000000000000000000000000000000008000000440100003000"/192, 0xc0, 0xa6000}, {&(0x7f0000010ae0)="050102003a00010060ffb0002200000000000000040000000100000500000000000001000000000000000000a57c000001000000000000001a0400000000000003000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e757820554446465300000000000000000000000405000000000000120000000000000000000000100000001a0400002300"/192, 0xc0, 0xa6400}, {&(0x7f0000010ba0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0xa6600}, {&(0x7f00000110c0)="05010200c3000100b831aa002700000000000000040000000100000500000000000003000000000000000000a57c000001000000000000000a0000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001400000000000000000000000a00000073797a6b616c6c657273000000000000", 0xc0, 0xa6e00}, {&(0x7f0000011180)="05010200000001009d72c0002800000000000000040000000100000500000000000001000000000000000000a57c00000200000000000000282300000000000012000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e75782055444646530000000000000000000000040500000000000015000000000000000000000020000000000e0000290000000000000000000000281500003100"/224, 0xe0, 0xa7000}, {&(0x7f0000000640)="01010200c00001001b5818003000000001000a00000200002000000000000000000000000000000001010200c40001007ae92c003000000001000116000200004000000000000000100000000000084e6f6e2d416c6c6f63617461626c6520537061636501010200e4000100f0a31c0030000000010002060002000021000000000000001100000000000866696c653001010200d200010039481c0030000000010000060002000027000000000000001400000000000866696c6531010102002e0001008f4e1c0030000000010000060002000028000000000000001500000000000866696c653201010200dd000100315b1c0030000000010000060002000028000000000000001600000000000866696c653301010200e7000100f79b2000300000000100000a000200003c000000000000001700000000000866696c652e636f6c6400"/352, 0x160, 0xa8000}, {&(0x7f00000113c0)="05010200c90001004b3404013c00000000000000040000000100000500000000000003000000000000000000a57c00000100000000000000640000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001700000000000000000000006400000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727300"/288, 0x120, 0xa9800}, {&(0x7f00000114e0)="0501020052000100beaba0004000000000000000040000000100000500000000000000040000000000000000a57c00000100000000000000000000000000000000000000000000000010e607090c0c00354c12560010e607090c0c00354c12560010e607090c0c00354c12560100f9a901ef9a5521571f13720133407b53000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001000"/192, 0xc0, 0xaa000}, {&(0x7f00000115a0)="01000200a40001001aaef001e00700000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010002000300010000000100000008313233343536373831323334353637384c696e757855444600"/128, 0x80, 0xfc000}, {&(0x7f0000011620)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667320322e33000000000000000000000000000010e607090c0c00354c1256002a4c696e7578205544464653000000000000000000000004050000", 0xe0, 0xfc0c0}, {&(0x7f0000000980)="00000000000000000000000000000000002000008000000002400000002a554446205370617261626c6520506172746974696f6e500104050000000001000000200002003801000070000000f0070000000000000000000000000000000000000500020005000100879cf001e20700000300000001000000002b4e53523032000000000000000000000000000000000000000000000000000000000000000000000200"/192, 0xc0, 0xfc3a0}, {&(0x7f00000118c0)="0000000000000000000000000000000000000000000000000400000010050000d0020000002a4c696e7578205544464653000000000000000000000004050000", 0x40, 0xfc4a3}, {&(0x7f00000119c0)="0000000000000000005715e0e024eda82d00000900"/32, 0x20, 0xfc8e0}, {&(0x7f0000011a00)="08000200e80001000000f001e50700"/32, 0x20, 0xfca00}, {&(0x7f0000011a20)="000002001800010021d42801f0070000002a5544462053706172696e67205461626c65000000000050010405000000002000000000000000ffffffff10010000ffffffff30010000ffffffff50010000ffffffff70010000ffffffff90010000ffffffffb0010000ffffffffd0010000fffffffff0010000ffffffff10020000ffffffff30020000ffffffff50020000ffffffff70020000ffffffff90020000ffffffffb0020000ffffffffd0020000fffffffff0020000ffffffff10030000ffffffff30030000ffffffff50030000ffffffff70030000ffffffff90030000ffffffffb0030000ffffffffd0030000fffffffff0030000ffffffff10040000ffffffff30040000ffffffff50040000ffffffff70040000ffffffff90040000ffffffffb0040000ffffffffd0040000fffffffff00400"/320, 0x140, 0xfe000}], 0x8000, &(0x7f0000000300)={[{@umask={'umask', 0x3d, 0xcc}}, {@anchor={'anchor', 0x3d, 0x7ff}}, {@shortad}, {@unhide}, {@uid}, {@lastblock={'lastblock', 0x3d, 0x7}}, {@gid_forget}, {@iocharset={'iocharset', 0x3d, 'cp855'}}, {@nostrict}]}, 0x1) r0 = open(&(0x7f0000000280)='.\x00', 0x0, 0x0) mkdirat(r0, &(0x7f0000000540)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) unlinkat(r0, &(0x7f0000000140)='./file0\x00', 0x200) 08:06:33 executing program 1: r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x0}, 0x0, 0x0, 0xfffffffffffffffd) keyctl$setperm(0x10, r0, 0x0) [ 301.267553][ T7096] F2FS-fs (loop4): Found nat_bits in checkpoint [ 301.369017][ T7124] loop3: detected capacity change from 0 to 2048 [ 301.376637][ T7096] F2FS-fs (loop4): Try to recover 1th superblock, ret: 0 [ 301.386402][ T7096] F2FS-fs (loop4): Mounted with checkpoint version = 3e17dab1 08:06:33 executing program 4: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x52021ce, 0x3d, &(0x7f0000000200)=[{&(0x7f0000010420)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x00\x00\x00mp\x00\x00\x00\x00\x00\x00wm\x00\x00\x00\x00\x00\x00og\x00\x00\x00\x00\x00\x00jp\x00\x00\x00\x00\x00\x00avi\x00\x00\x00\x00\x00m4v\x00\x00\x00\x00\x00m4p\x00\x00\x00\x00\x00mkv\x00\x00\x00\x00\x00mov\x00\x00\x00\x00\x00webm\x00\x00\x00\x00wav\x00\x00\x00\x00\x00m4a\x00\x00\x00\x00\x003gp\x00\x00\x00\x00\x00opus\x00\x00\x00\x00flac\x00\x00\x00\x00gif\x00\x00\x00\x00\x00png\x00\x00\x00\x00\x00svg\x00\x00\x00\x00\x00webp\x00\x00\x00\x00jar\x00\x00\x00\x00\x00deb\x00\x00\x00\x00\x00iso\x00\x00\x00\x00\x00gz\x00\x00\x00\x00\x00\x00xz\x00\x00\x00\x00\x00\x00zst\x00\x00\x00\x00\x00pdf\x00\x00\x00\x00\x00pyc\x00\x00\x00\x00\x00ttc\x00\x00\x00\x00\x00ttf\x00\x00\x00\x00\x00exe\x00\x00\x00\x00\x00apk\x00\x00\x00\x00\x00cnt\x00\x00\x00\x00\x00exo\x00\x00\x00\x00\x00odex\x00\x00\x00\x00vdex\x00\x00\x00\x00so\x00\x00\x00\x00\x00\x00cold\x00\x00\x00\x00db\x00'/352, 0x160, 0x76}, {&(0x7f0000010000)="1020f5f201000e00090000000300000010000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e00000010000003000000010000000200000022557c7f4c464834a18da3b19154b95500000000", 0x80, 0x400}, {&(0x7f0000010080)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x00\x00\x00mp\x00\x00\x00\x00\x00\x00wm\x00\x00\x00\x00\x00\x00og\x00\x00\x00\x00\x00\x00jp\x00\x00\x00\x00\x00\x00avi\x00\x00\x00\x00\x00m4v\x00\x00\x00\x00\x00m4p\x00\x00\x00\x00\x00mkv\x00\x00\x00\x00\x00mov\x00\x00\x00\x00\x00webm\x00\x00\x00\x00wav\x00\x00\x00\x00\x00m4a\x00\x00\x00\x00\x003gp\x00\x00\x00\x00\x00opus\x00\x00\x00\x00flac\x00\x00\x00\x00gif\x00\x00\x00\x00\x00png\x00\x00\x00\x00\x00svg\x00\x00\x00\x00\x00webp\x00\x00\x00\x00jar\x00\x00\x00\x00\x00deb\x00\x00\x00\x00\x00iso\x00\x00\x00\x00\x00gz\x00\x00\x00\x00\x00\x00xz\x00\x00\x00\x00\x00\x00zst\x00\x00\x00\x00\x00pdf\x00\x00\x00\x00\x00pyc\x00\x00\x00\x00\x00ttc\x00\x00\x00\x00\x00ttf\x00\x00\x00\x00\x00exe\x00\x00\x00\x00\x00apk\x00\x00\x00\x00\x00cnt\x00\x00\x00\x00\x00exo\x00\x00\x00\x00\x00odex\x00\x00\x00\x00vdex\x00\x00\x00\x00so\x00\x00\x00\x00\x00\x00cold\x00\x00\x00\x00db\x00'/352, 0x160, 0x860}, {&(0x7f00000101e0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xa80}, {&(0x7f00000102a0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xb80}, {&(0x7f0000000c00)="0000000000000000000000000000005cbed2b6f0e7a58a8ad0ddc32ee9da62a615dbf0437d4dec34afb1b0852b1a76d3cdcaa5753c32edd957aa7568800eed7a797c5087c177754cfaff5ddb3ba6dd084d523b7aa7f159abf6aee38a48b6a15a4d49c5c835739089a09eeb95382ee0d55adf966099243251eeee84cf0a1bd3e5f6482d259789eea5602bf61b38a731250af0921c3c0d585af9fb9e1cead8c42614eb700cda4febba20fe27e55bb9d131c9344fcd2225d1d9e40d58875f4b7bad2826021ffe4e6867b8e1c4", 0xcb, 0xc80}, {&(0x7f0000010380)="00000000000100"/32, 0x20, 0xec0}, {&(0x7f00000103a0)="1020f5f201000e0009000000030000000c000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e00000010000003000000010000000200000022557c7f4c464834a18da3b19154b95500000000", 0x80, 0x1400}, {&(0x7f0000010580)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1a80}, {&(0x7f0000010640)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1b80}, {&(0x7f0000010700)='\x00\x00\x00\x00\b\x00'/32, 0x20, 0x1c80}, {&(0x7f0000010720)="00000000000100"/32, 0x20, 0x1ec0}, {&(0x7f0000010740)="b1da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5010000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/192, 0xc0, 0x200000}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000382c77a20000030000000003000000001000"/64, 0x40, 0x200fe0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000060000000000020c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000510ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000000001400", 0xc0, 0x2011e0}, {&(0x7f0000010900)="000000000000000300000004007800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000500000000080000000000", 0x60, 0x2012e0}, {&(0x7f0000010960)="0000000b000000000400"/32, 0x20, 0x201380}, {&(0x7f0000010980)="00000000000000000000000000000000000000000000030000000000000300000000000008000000000000080000000001000800000000020000000000000000", 0x40, 0x2013e0}, {&(0x7f00000109c0)="03000000000000030000000000000400"/32, 0x20, 0x202000}, {&(0x7f0000000900)="00008c00"/32, 0x20, 0x202e00}, {&(0x7f0000010a00)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x202fe0}, {&(0x7f0000010a80)="0000000000000000000000000000000000000000000000000000000100000000b1da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5010000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/224, 0xe0, 0x204fe0}, {&(0x7f0000010b60)="00000000000000000000000000000000000000000000000000000000382c77a2", 0x20, 0x205fe0}, {&(0x7f0000010b80)="b1da173e382c77a200"/32, 0x20, 0x3ff000}, {&(0x7f0000010ba0)="0000000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/96, 0x60, 0x3ff040}, {&(0x7f0000010c00)="b0da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/192, 0xc0, 0x400000}, {&(0x7f0000010cc0)="000000000000000000000000000000000000000000000000000000005e2ecb6b0000030000000003000000001000"/64, 0x40, 0x400fe0}, {&(0x7f0000010d00)="000000000000000000000000000000000000000000000000000000060000000000020c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000510ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000000001400", 0xc0, 0x4011e0}, {&(0x7f0000010dc0)="0000000000000003000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000512000000080000000000", 0x5c, 0x4012de}, {&(0x7f0000010e20)="0000000900000000040000000000000000000000000000000000aff13bf6bd", 0x1f, 0x401380}, {&(0x7f0000000a00)="00000000000000000000000000000000000000000000030000000000000300000000000008000000000000080000000001000800000000020000000000000000", 0x40, 0x4013e0}, {&(0x7f0000010e80)="030000000000000300000000000600000000000000000000000000fff7000000", 0x20, 0x402000}, {&(0x7f0000010ea0)='\x00\x00p\x00'/32, 0x20, 0x402e00}, {&(0x7f0000010ec0)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x402fe0}, {&(0x7f0000010f20)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x403fe0}, {&(0x7f0000010f40)="0000000000000000000000000000000000000000000000000000000100000000b0da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/224, 0xe0, 0x404fe0}, {&(0x7f0000011020)="000000000000000000000000000000000000000000000000000000005e2ecb6b", 0x20, 0x405fe0}, {&(0x7f0000000140)="b0da8ef35e2ecb6b000000000000000000000000000000000000000000000000a5d99c0d43aee315bf34b14db11d588cc6bc7b", 0x33, 0x5ff000}, {&(0x7f0000011060)="0000000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/96, 0x60, 0x5ff040}, {&(0x7f0000000180)="000000000000000000000100000001000000000200000001000000000300000001100000000400000002100000000500000000120000000600000001120000000700000002120000000800000005120000000900000004120000000000000000", 0x60, 0xa00000}, {&(0x7f0000011120)="000000000000000000000100000001000000000200000001000000000300000001100000000400000002100000000500000000120000000600000001120000000700000002120000000800000003120000000900000004120000000000000000", 0x60, 0xc00000}, {&(0x7f0000011180)="ed41002080761000535f010003000000001000000000000002000000000000005e1f1f6300000000651f1f6300000000651f1f630000000000000000c9675f30c9675f30000000000100"/96, 0x60, 0x1001000}, {&(0x7f00000111e0)="000000000000000004000000011600"/32, 0x20, 0x1001160}, {&(0x7f0000011200)="0000000000000000030000000300000000000000adda173e0000000002100000ed4100250000000000000000020000007c0d0000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30c76f1e44000000000000000000100000030000000500000066696c653000"/160, 0xa0, 0x1001fe0}, {&(0x7f0000000940)="00000000000000002400000000000000000000000000000000000000000000000000000000000000000cbc7ff08b5305ff15d7a61a574c00000000000000000f00000000000000000000000000000000000000000000000000000000000000000000000400000001000200000000030000000200024a8113ed050000000500018dceceda450600000005000700000000", 0x90, 0x1002160}, {&(0x7f0000011320)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00..\x00\x00\x00\x00\x00\x00file0\x00\x00\x00file1\x00'/64, 0x40, 0x1002960}, {&(0x7f0000000080)="000000000000000004000000040000000000000000000310000021c889933292eab88506c2bf4b219e41586b2ee7e0c3b5dc950e5fe51ed5d17fe4532cc4dda633133cc8325e596aaae7bf8240bdeba0be9e65d43d3b16139a6e1e7481364cab100c31c38db2492eb6b5719ceb4d", 0x6e, 0x1002fe0}, {&(0x7f0000011380)="ed81002b0000000000000000010000001a040000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f305ee78c74000000000000000000000000040000000500000066696c653000"/128, 0x80, 0x1200000}, {&(0x7f0000011400)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00'/1120, 0x460, 0x1200160}, {&(0x7f0000011860)="0000000000000000050000000500000001000000adda173e0000000001120000ffa1002b00000000000000000100000027000000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30f1689d18000000000000000000000000040000000500000066696c653100"/160, 0xa0, 0x1200fe0}, {&(0x7f0000011900)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/tmp/syz-imagegen2941961749/file0/file0\x00\x00\x00\x00\x00\x00\x00\x00\x00', 0x60, 0x1201163}, {&(0x7f0000011a40)="0000000000000000000000001120f5f20100000000000000000000000000000000000000010606007861747472317861747472310106060078617474723278617474723200"/96, 0x60, 0x1202f00}, {&(0x7f0000011aa0)="0000000000000000070000000700000001000000adda173e0000000003120000", 0x20, 0x1202fe0}, {&(0x7f0000011ac0)="ed81012b00000000000000000100000064000000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30559f02d3000000000000000000000000030000000900000066696c652e636f6c6400"/128, 0x80, 0x1203ffc}, {&(0x7f0000011b40)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/160, 0xa0, 0x1204160}, {&(0x7f0000011be0)="0000000000000000090000000900000001000000adda173e0000000005120000ed81022100000000000000000200000028230000000000000400000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30b41fa909000000000000000000000000030000000500000066696c653300"/160, 0xa0, 0x1204fe0}, {&(0x7f0000011c80)="02160000030000002400000000000000000000000000000000000000000000000000000000000000000000000216000003160000041600"/64, 0x40, 0x1205160}, {&(0x7f0000011cc0)="0000000000000000080000000800000001000000aeda173eb7c33c1906120000", 0x20, 0x1205fe0}, {&(0x7f0000011ce0)="ff0000000000000000000000000000000000000000000000000000000000000000000300000001000200000000030000000200024a8113ed040000000500028dcece4507000000050001baeed06f0800000005000153bfc55008000000050001120052230900000009000100"/128, 0x80, 0x1601000}, {&(0x7f0000011d60)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00..\x00\x00\x00\x00\x00\x00file0\x00\x00\x00file1\x00\x00\x00file2\x00\x00\x00file3\x00\x00\x00file.cold\x00'/96, 0x60, 0x1601940}, {&(0x7f0000000880)="0000000000000000240400000000000000000000000000000020000000000000000400000000000000000000000073797a6b616c6c65727300000000000087295ca61d5799ae891d706570a214f1d35161635ff5b689483bd4aa472211942c5acb66afa067dc100e103f3dc0a886", 0x6e, 0x5202160}], 0x0, &(0x7f00000007c0)=ANY=[@ANYBLOB="000000000000000000003f10e2d7428f7ff99d98cd1cdc1e2fa50407dbc95739e026b95176c1ba732becc3dddfc7f17060f6312da454cb4a8a8d4042fb51bc0fa9607ec5cbef3456ef2ada10e34603b0c115ab20b4fa4bd6fd3a18b258dff7e760d071cb590bc838aaeb1d9553881cf5e0d603cec2940e27ddf93e7e2a9e39e4b06ba0bc7b365a4e0e5aa57acbe090e4bc0318bf1cba3724282c64acc31060d2e76ba7fca4d49896b879ec7007728c7a"], 0x1) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_int(r0, &(0x7f0000000200), 0xf002) 08:06:33 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL80211_CMD_START_NAN(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240)={0x28, r1, 0x1, 0x0, 0x0, {{0x7e}, {@val={0x8}, @val={0xc}}}}, 0x28}}, 0x0) 08:06:33 executing program 1: syz_mount_image$udf(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x100000, 0x28, &(0x7f0000000bc0)=[{&(0x7f0000010400)="040002008b", 0x5, 0x1}, {&(0x7f0000000800)="ae", 0x1, 0x6}, {&(0x7f0000011b60)="020002002700010076b5f001ff070000002000006000000000200000e0070000", 0x20, 0x9}, {&(0x7f0000000180)="002a4c696e757820554446565300000000000000000000000405000000000000a0fd0fbfeb942317ffda3763e1e76a0c555f4060da359564fba97c8184cebb254ecb93de7508481b7f5b8c8d71665c25f1166c79dfd7baa5e0f6a65d937fef89401f320eecc8923664b65e15b6dccae5232c7f29a335d176924667dca4f5ab1e79a66a52288b", 0x86, 0xff}, {&(0x7f0000000040)="e282b240b5d6d9224ebed0c6c76cb59ba50c88e8844b84d22bde2ca8a5d297822add7615677e", 0x26, 0x1ff}, {&(0x7f0000010000)="0042454130310100"/32, 0x20, 0x8000}, {&(0x7f0000000ac0)="004e535230320100000000000000000000000000000000000000000000000000e68527d15138f260a3fd8f97b67ecd04dd1a83b427f95fe92bf9a2b3ec4cb8e8f3b7f4ac1174bc2658169baf625a246a0f22dafce1b6179e25252a5239bf7bf5a5e2bd290f71bc93cbb456a31d8f792794becccbda497e0c65b2", 0x7a, 0x8800}, {&(0x7f0000010060)="010002001d0001001aaef001600000000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010002000300010000000100000008313233343536373831323334353637384c696e757855444600"/128, 0x80, 0xc000}, {&(0x7f00000100e0)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667320322e33000000000000000000000000000010e607090c0c00354c1256002a4c696e7578205544464653000000000000000000000004050000", 0xe0, 0xc0c0}, {&(0x7f00000101c0)="000000000000000001000000000000000000000000000000000000000000000006000200660001006ba8e8016100000002000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000", 0x80, 0xc1e0}, {&(0x7f0000000b40)="000000000000000000000000000000000000000900020000002a4f5354412055444620436f6d706c69616e74000000005001000000000000000200001000000000000000000000004000000001000000002a4c696e75782055444646530000000000000000000000040500"/128, 0x80, 0xc2c0}, {&(0x7f00000102c0)="00000000000000000000000000000000002000008000000002400000002a554446205370617261626c6520506172746974696f6e500104050000000001000000200002003801000070000000f007000000000000000000000000000000000000050002007e000100879cf001620000000300000001000000002b4e53523032000000000000000000000000000000000000000000000000000000000000000000000200"/192, 0xc0, 0xc3a0}, {&(0x7f0000010380)="0000000000000000000000000000000000000000000000000400000010050000d0020000002a4c696e7578205544464653000000000000000000000004050000", 0x40, 0xc4a0}, {&(0x7f00000103c0)="07000200ae000100927f3000630000000400000005000000002600004d000000001600007500000000e0000090000000001e00000101000000140000f5070000", 0x40, 0xc600}, {&(0x7f0000010480)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00'/32, 0x20, 0xc8e5}, {&(0x7f0000000080)="002a4c696e75782089bc1a03ef7eb9554439465300000000000000000000000405000000000000", 0x27, 0xc95d}, {&(0x7f00000104c0)="0800020061e400000000f0016500"/32, 0x20, 0xca00}, {&(0x7f00000109a0)="05010200e4000100009920012100000000000000040000000100000400000000000003000000000000000000a57c00000100000000000000800000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001100000000000000000000008000000001010200b10001001b5818002100000001000a000002000020000000000000000000000000000000010102004b00010059b01c0021000000010000060002000022000000000000001200000000000866696c65300101020078000100c1751c0021000000010000060002000026000000000000001300000000000866696c653100"/320, 0x140, 0xd8a9}, {&(0x7f00000104e0)="000002009100010021d4280170000000002a5544462053706172696e67205461626c65000000000050010405000000002000000000000000ffffffff10010000ffffffff30010000ffffffff50010000ffffffff70010000ffffffff90010000ffffffffb0010000ffffffffd0010000fffffffff0010000ffffffff10020000ffffffff30020000ffffffff50020000ffffffff70020000ffffffff90020000ffffffffb0020000ffffffffd0020000fffffffff0020000ffffffff10030000ffffffff30030000ffffffff50030000ffffffff70030000ffffffff90030000ffffffffb0030000ffffffffd0030000fffffffff0030000ffffffff10040000ffffffff30040000ffffffff50040000ffffffff70040000ffffffff90040000ffffffffb0040000ffffffffd0040000fffffffff00400"/320, 0x140, 0xe000}, {&(0x7f00000007c0)="19", 0x1, 0xffff}, {&(0x7f0000010620)="09000200d70001000acb7600800000000010e607090c0c00355f4d010100000000000000000000001800000000000000000000000000000000000000000000000000000000000000010000002e000000b0020000d0020000002a4c696e757820554446465300000000000000000000000405000000000000060000000200000050015001010200"/160, 0xa0, 0x10000}, {&(0x7f00000106e0)="020002002200010076b5f00100010000002000006000000000200000e0070000", 0x20, 0x20000}, {&(0x7f0000010700)="08020200f5000100964b080000000000d00200005a000000fefeff000000eafeffffffffffffffffff1bd90000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0500ffffffff00"/118, 0x76, 0xa2003}, {&(0x7f0000010780)="0001020037000100bb77f001100000000010e607090c0c00354c12560300030001000000010000000000000000000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e757855444600000000000000", 0x80, 0xa4000}, {&(0x7f0000010800)="00000000000000000000000000000009004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000000000000000000000000000000000000000000908436f707972696768740000000000000000000000000000000000000000000a084162737472616374000000000000000000000000000000000000000000000900020000200000000000000000000000002a4f5354412055444620436f6d706c69616e74000000005001000000000000", 0xe0, 0xa40e0}, {&(0x7f00000108e0)="050102007c000100e5c6a8002000000000000000040000000100000400000000000000000000000000000000a53c00000200000000000000440100000000000001000000000000000010e607090c0c00354c12560010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e75782055444646530000000000000000000000040500000000000000000000000000000000000008000000440100003000"/192, 0xc0, 0xa6000}, {&(0x7f0000010ae0)="050102003a00010060ffb0002200000000000000040000000100000500000000000001000000000000000000a57c000001000000000000001a0400000000000003000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e757820554446465300000000000000000000000405000000000000120000000000000000000000100000001a0400002300"/192, 0xc0, 0xa6400}, {&(0x7f0000010ba0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0xa6600}, {&(0x7f00000110c0)="05010200c3000100b831aa002700000000000000040000000100000500000000000003000000000000000000a57c000001000000000000000a0000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001400000000000000000000000a00000073797a6b616c6c657273000000000000", 0xc0, 0xa6e00}, {&(0x7f0000011180)="05010200000001009d72c0002800000000000000040000000100000500000000000001000000000000000000a57c00000200000000000000282300000000000012000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e75782055444646530000000000000000000000040500000000000015000000000000000000000020000000000e0000290000000000000000000000281500003100"/224, 0xe0, 0xa7000}, {&(0x7f0000000640)="01010200c00001001b5818003000000001000a00000200002000000000000000000000000000000001010200c40001007ae92c003000000001000116000200004000000000000000100000000000084e6f6e2d416c6c6f63617461626c6520537061636501010200e4000100f0a31c0030000000010002060002000021000000000000001100000000000866696c653001010200d200010039481c0030000000010000060002000027000000000000001400000000000866696c6531010102002e0001008f4e1c0030000000010000060002000028000000000000001500000000000866696c653201010200dd000100315b1c0030000000010000060002000028000000000000001600000000000866696c653301010200e7000100f79b2000300000000100000a000200003c000000000000001700000000000866696c652e636f6c6400"/352, 0x160, 0xa8000}, {&(0x7f00000113c0)="05010200c90001004b3404013c00000000000000040000000100000500000000000003000000000000000000a57c00000100000000000000640000000000000000000000000000000010e607090c0c00355e59530010e607090c0c00355e59530010e607090c0c00355e59530100000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001700000000000000000000006400000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727300"/288, 0x120, 0xa9800}, {&(0x7f00000114e0)="0501020052000100beaba0004000000000000000040000000100000500000000000000040000000000000000a57c00000100000000000000000000000000000000000000000000000010e607090c0c00354c12560010e607090c0c00354c12560010e607090c0c00354c12560100f9a901ef9a5521571f13720133407b53000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000001000"/192, 0xc0, 0xaa000}, {&(0x7f00000115a0)="01000200a40001001aaef001e00700000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010002000300010000000100000008313233343536373831323334353637384c696e757855444600"/128, 0x80, 0xfc000}, {&(0x7f0000011620)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667320322e33000000000000000000000000000010e607090c0c00354c1256002a4c696e7578205544464653000000000000000000000004050000", 0xe0, 0xfc0c0}, {&(0x7f0000000980)="00000000000000000000000000000000002000008000000002400000002a554446205370617261626c6520506172746974696f6e500104050000000001000000200002003801000070000000f0070000000000000000000000000000000000000500020005000100879cf001e20700000300000001000000002b4e53523032000000000000000000000000000000000000000000000000000000000000000000000200"/192, 0xc0, 0xfc3a0}, {&(0x7f00000118c0)="0000000000000000000000000000000000000000000000000400000010050000d0020000002a4c696e7578205544464653000000000000000000000004050000", 0x40, 0xfc4a3}, {&(0x7f00000119c0)="0000000000000000005715e0e024eda82d00000900"/32, 0x20, 0xfc8e0}, {&(0x7f0000011a00)="08000200e80001000000f001e50700"/32, 0x20, 0xfca00}, {&(0x7f0000011a20)="000002001800010021d42801f0070000002a5544462053706172696e67205461626c65000000000050010405000000002000000000000000ffffffff10010000ffffffff30010000ffffffff50010000ffffffff70010000ffffffff90010000ffffffffb0010000ffffffffd0010000fffffffff0010000ffffffff10020000ffffffff30020000ffffffff50020000ffffffff70020000ffffffff90020000ffffffffb0020000ffffffffd0020000fffffffff0020000ffffffff10030000ffffffff30030000ffffffff50030000ffffffff70030000ffffffff90030000ffffffffb0030000ffffffffd0030000fffffffff0030000ffffffff10040000ffffffff30040000ffffffff50040000ffffffff70040000ffffffff90040000ffffffffb0040000ffffffffd0040000fffffffff00400"/320, 0x140, 0xfe000}], 0x8000, &(0x7f0000000300)={[{@umask={'umask', 0x3d, 0xcc}}, {@anchor={'anchor', 0x3d, 0x7ff}}, {@shortad}, {@unhide}, {@uid}, {@lastblock={'lastblock', 0x3d, 0x7}}, {@gid_forget}, {@iocharset={'iocharset', 0x3d, 'cp855'}}, {@nostrict}]}, 0x1) r0 = open(&(0x7f0000000280)='.\x00', 0x0, 0x0) mkdirat(r0, &(0x7f0000000540)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) unlinkat(r0, &(0x7f0000000140)='./file0\x00', 0x200) [ 301.515612][ T7127] loop1: detected capacity change from 0 to 2048 [ 301.546517][ T7130] loop4: detected capacity change from 0 to 167952 [ 301.565246][ T7130] F2FS-fs (loop4): Invalid log_blocksize (16), supports only 12 [ 301.596720][ T7130] F2FS-fs (loop4): Can't find valid F2FS filesystem in 1th superblock [ 301.603711][ T7131] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 301.664044][ T7130] F2FS-fs (loop4): Found nat_bits in checkpoint [ 301.691546][ T7131] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db [ 301.743415][ T7130] F2FS-fs (loop4): Try to recover 1th superblock, ret: 0 [ 301.752941][ T7130] F2FS-fs (loop4): Mounted with checkpoint version = 3e17dab1 08:06:34 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) unlink(&(0x7f0000000100)='./file0/file0\x00') write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000008a40)="e74a0f89e88c3aba2d1c776ab25b221b366ab0ac5db05ec87f720b51be2b46fe1aa4d1f50e8d278e8e9641885de16dd0ab77530a7a8c79b801a4c8c9567e29f0fa2752524cd11497506cf97d82f723a251df277d637259d2bb510d2b02d10e860a1edc040eee393f7888f1d66d3a473cb767afa655e1b44ccbec58fb5c93aace8c0b871aa42975bf03e7e187400662d6904e49dee4e2af4c6102ecc3f0337be6784bc4a2a31309934f6f5d25877efe0ed45a3aa006d101d91f9b2afc4f5e481a8421c4c734722ef89ca7f9b44bed7000782cfdb5a200c3a1e9a277a9655f28767a39f9e495dec1e1bb617037b6058df1ac7127ab3150232370a5f2dc482f007ff59665fcbc5eadb27cfc85ffaf1c6da0fc2bcd45e04c038a09526be1689e06771f18a2cdc8e66741fedc0648170210d1980db4781b1ac2968a88df1283eac5f941c56fb5c9fb9dfd9b97abf16d382f346b777f92d9a0342099617e1f6be516d856dcec566100be918c31b31bae1201408197c93352cfa7b68d8ff995bfaef9a1557a00f9c411e5b82818f96f53608cb486d134bcd8ac55cd0e9979c9427abe385dfd50b4096764a7d2b3fbb3bbebd826af4abb97bb0fa75214a5c2a684239686c0bda28d382dab3f293d85ba35edd9e2f22eadf3733944267001e596b8bd36e308dc58d64df4a54779febedaeece93767debfd371bb76a2b9961d007fcb4fa607f1d03ed4ec8a50ed7abe639784569d11787b4e145caceec20145d2ae15b9fd9790589dd2a3612247c6edceb22c7a790d10944acd16050ad6e3de7a4aae0b1c4fd0dbdb8bb70946abf2c95e7e1a6c46d46d98a483edb5e02b7a83dbe8f0608167e7a01671f135b613c11cb307b8e004d4306884907bfc83e0397827146f5101ce5528dd7c07a5d364dcf1857772d7ea518a9847a853ec9e75df1e14fee7c5087dcd923808ded43a63a0716fcc0661c1018847bb327633a1ff9e0dffe85c971e2458b4eca86f44e20db067b30e1cc5f4eed7064f76fec7a772b8239e24de0bc65ed7a48521ce8f9470e5289259c1a93c63251ba3cb9fd40074a66c2ae0d6ab50bc1428ea14a254aba9bf6875885fac3cebababe0abe4fa2c4aa02a83698c15fedf2dc4fe85474c26a9419c8a818515c170576ba2bdeedd7fcc6f318414a4a3d21c9cbeeda8a93420b0edf749ea937d15e3624b9ee08de930510b108de17e126ba03acd647a7ec8ddafe3ca8eddafda604424cc0e1b3229e64b3a8f334cf81062066e6d451306e00c61b0ae09a7457c7a9299acba8f28210e8bf2de29c413c27c06a885f4d76223b657e08e24e881db1bcfe5b6bfd21c10ddd08b82782e1d63f72ec05dadcb3e6f4c651acfb8e108609f37a0ebfa1992eabdbb0d59c3bdfdb6db5c8ee69280855a5a28f25f18c43da954337213621ff72b607e1881bcca05b53f1c48206c4a41ea513bb45197e9ae69064557dda4ab0f2785f5f5e9d0c7b1c81838c5d48f6376a8fcc0230bdde2471a3521ba0cfc222989b336c7aaf81664e3465f45d4d0820833451fa85ce0610dec0bb0dc7020a91f5bfdb6ddee67152a497507c391207b7aeed6bb1f6eb812380b33e42b78d1c1175d9aeef5c67894879d6200acb2aea17c5461bd2909315fb7611d72aaa92a5b1801b6f0402ae8a7a251bc5b7e652861886edcf155515c34306a96e9af5d19d29d425f30dbcc7715490343036ffc28b117c234aefd3e9a210e2248379754ee19c7b24f75ed41e418321a2ee4607e6801bf764f9aac82c13685d81865e4c68ee67d23c02937074e0099461711c5ba2c40f4218f00ff884db32bd6b6c753f352d27de3e9ef39a449f470cc9d5f0a347603ffe125365db8f7ed8db6a6ff3f054b7e3b1e1ba4e3b120abee0d791cd64f3ecab1be0a985f5a04c9bf91566b6af9a0705618a7eb7bd34dc71c6e982fe9c684d2fdcaf5ad1f4366c6b1573520b3a43d1575973976e5a2d8342836da61a919fe291d4e06dc8b8047fdaa591db96c5f708d7efc10d0febd2de603998daa218841c38f38c294f79a058c14b8451e970d45b64ab8cfd811e332ca469c1ad1a703c7889b6af2430b5a9a16efb95767cf6e176aeafe1d7f3e207b92316038a694dc77e4f9d423f023e6e92994bcacc8811afd8022cdf24268c646e4f8f1eec0ebd9adf11a338bb0b76bffdfdba5060cd8858c3861c2020a8367b65b272305871501ce9131ba58f4bee28542651ff43e4b044e08eebdac22901166e5a4690335d5c195d0d895470df40c756e553230fb20485f25e6122c131a1c240a8eeeadae8bd743e25aa7445c4d13bcfc2012a3fffd8e71840a73b0fb86e01b189ed98ffaf53317a3be72575c72b3851f5e6d58946ea53c27a2c074de878396bce0f0a8639e4cd188b0c41bc93ddf2e2bc21f4a6a2a5231612f7cefa0735eaf3fc599c018bfb788b0951173df46c9f57ac58a70364a78d4eed63659e80983ff21b441ba041a6e0f83cf5cbb46787f8032f35ee2d35fbf278ff6b0c4742b0c8e9b8b51081b3db97c75feffcf4793b50a774f9fdb8e1df5bc3b337964677d2e7148e31ea866090136940a9670ff492d88b48d7f5a9cebf32b865381303636930ac76c940454bca3060d8f3e4858b55147eccdbcdef80c64b8030498ce8e15420d1ea46c5406a55c89434765232bab57df4fd145a60191eea9b1d634968e0087083db8bd71be34739261753fba1eb47edda8df45c8bef040b152b1da174b1da36f731cd77a3ed39d6ffdd5bd68d4288c4d464e476c136d3ebd379168bf87ac8ba63a8a6a3f2430af352f2c252a0ef3ea2560870aba83ccecdd0e57ce9859821f0e1da1afec294048a1e22cdd02d5685181998ad20b26539aeb8e8fe02da9f3965583cc8109146ba182b6c8c945bc0e3098a353d07f9f28737fc73ecec7d12ac68f51135a617291d57e57a625bc7fc2174560f24a7667d4106c11922815af1fc4bfca24b625ff6953d8255a7771542d2fccaf74195c957faa3328cb7180b12efc3640eeac8dbac1aa55d236904975ea0521d8b3aa792c8c3194eb15497fb68351b2f662e6dcbb03607feb7c2f29456085d96d4dbcfbbcb2828c812f21624a301b648201d27b9e80862189e7f8e81b479301b4a55dc2aa7732b3460001d072f04c96dc34fbe5f7eaa12107dee5c4fcab6977d65d3e5a3cb2b2334fa2ed10a0ff0f02b43a16f5bfb6d4909b70af2b1b1d072e5c8b0a344ade8c7044a2a1ab9a58ff0e629a2345a9633513ac429ba96b8911c227a306fb23769d02b233b869c91abd605e4d13e92f56b13414e8b29e1e9b203154db9380bbfb66c4548df00dc5f3b13909b2bc4e90d5e3a42b6e4d6e8e1eaff7b319179975ae90e3ded62efbac60abbb57f07c348a4eec2032289ac91476297385e0ba3a9bb08de5894baaf7c6a46b4e04e75c10722dc2c5af819638b8d41c163065cd73b8be3ef6c36cbc556fe87b4d35f14211a86fb8800bcf677a17ab8808224ed0ca780338893612a686fd6d44a1b621096477f6f0760abb232d7bdacf9c7811eb0d87d69452f74c7563c583a3972083cefc8ea05513b87f6d0bc52fcca7d1fa02d5f5f06837526597ea38be7c7a4b33f53917e84e7a46021b85d416a6455cba0646a2e8106ca515022355e72f5c5c81d23b2bc2abcc3ed75db75da3301df758f797a61c33bf8bd3711c202da94de304b7ccd1049d58e13190d56627755ab3ebcdd2922bc162240b9be762247423b434122bf5173147ac981beaf9dcf95f0f28601b5d0dcea36ef0f06be3eaf57a86e0523cdc712ed58bbf081ab9ddf9cc404f6dc3e48299d457c79735587d83d64af69bbcdd1c9654514aee10728fb51ac14f5de78152a2e15b7d40189903e1c8f6decc9b9c22590acfc66c2c61028f2d55609a25e0a99beb9b542ad9b0cd8dc60f5eeea600e8567fdf1675bad45b6d10d4ed8f8bbf012ce632d9d1b73be0944eb9b475a1567c21e22f5b5db331cbc0312fa9069fa04aab947a57d28e7620ad728a589ffe214409284b9ae9fecebf5ef5a99aec1efdde05eb7f2bf80ea66cb5f4580e5eb75e8aaccf203b0e8c29275c05c8ed39029b5d74e20b92dd2b2e6525e7e4e7216735d74f7db4cfb4f76083f69bd6cb2f45a29229e38b54f1e4f5a73d579c23119f720e31d39c119f0f07141c4a461a710e28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(r0, 0x0, 0x0, &(0x7f00000011c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:34 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='freezer.self_freezing\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x1000003, 0x28011, r0, 0x0) r1 = syz_clone(0x20000, 0x0, 0x3f, 0x0, 0x0, 0x0) process_vm_writev(r1, &(0x7f0000001540)=[{&(0x7f0000000200)=""/95, 0x5f}, {0x0}], 0x2, &(0x7f0000001780)=[{&(0x7f00000015c0)=""/227, 0xe3}, {0x0}], 0x2, 0x0) 08:06:34 executing program 3: r0 = syz_open_procfs$namespace(0xffffffffffffffff, &(0x7f0000000040)='ns/mnt\x00') pwritev(r0, 0x0, 0x0, 0x0, 0x0) 08:06:34 executing program 1: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x0) ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT(r0, 0xc0bc5351, &(0x7f0000000040)={0x200, 0x0, 'client1\x00', 0x0, "71a18baa01641a81", "f65ee1c0ec21c73e7b9bb59b599edce2cd1c4b1bc99314922f09aa547660bf34"}) 08:06:34 executing program 4: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x52021ce, 0x3d, &(0x7f0000000200)=[{&(0x7f0000010420)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x00\x00\x00mp\x00\x00\x00\x00\x00\x00wm\x00\x00\x00\x00\x00\x00og\x00\x00\x00\x00\x00\x00jp\x00\x00\x00\x00\x00\x00avi\x00\x00\x00\x00\x00m4v\x00\x00\x00\x00\x00m4p\x00\x00\x00\x00\x00mkv\x00\x00\x00\x00\x00mov\x00\x00\x00\x00\x00webm\x00\x00\x00\x00wav\x00\x00\x00\x00\x00m4a\x00\x00\x00\x00\x003gp\x00\x00\x00\x00\x00opus\x00\x00\x00\x00flac\x00\x00\x00\x00gif\x00\x00\x00\x00\x00png\x00\x00\x00\x00\x00svg\x00\x00\x00\x00\x00webp\x00\x00\x00\x00jar\x00\x00\x00\x00\x00deb\x00\x00\x00\x00\x00iso\x00\x00\x00\x00\x00gz\x00\x00\x00\x00\x00\x00xz\x00\x00\x00\x00\x00\x00zst\x00\x00\x00\x00\x00pdf\x00\x00\x00\x00\x00pyc\x00\x00\x00\x00\x00ttc\x00\x00\x00\x00\x00ttf\x00\x00\x00\x00\x00exe\x00\x00\x00\x00\x00apk\x00\x00\x00\x00\x00cnt\x00\x00\x00\x00\x00exo\x00\x00\x00\x00\x00odex\x00\x00\x00\x00vdex\x00\x00\x00\x00so\x00\x00\x00\x00\x00\x00cold\x00\x00\x00\x00db\x00'/352, 0x160, 0x76}, {&(0x7f0000010000)="1020f5f201000e00090000000300000010000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e00000010000003000000010000000200000022557c7f4c464834a18da3b19154b95500000000", 0x80, 0x400}, {&(0x7f0000010080)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x00\x00\x00mp\x00\x00\x00\x00\x00\x00wm\x00\x00\x00\x00\x00\x00og\x00\x00\x00\x00\x00\x00jp\x00\x00\x00\x00\x00\x00avi\x00\x00\x00\x00\x00m4v\x00\x00\x00\x00\x00m4p\x00\x00\x00\x00\x00mkv\x00\x00\x00\x00\x00mov\x00\x00\x00\x00\x00webm\x00\x00\x00\x00wav\x00\x00\x00\x00\x00m4a\x00\x00\x00\x00\x003gp\x00\x00\x00\x00\x00opus\x00\x00\x00\x00flac\x00\x00\x00\x00gif\x00\x00\x00\x00\x00png\x00\x00\x00\x00\x00svg\x00\x00\x00\x00\x00webp\x00\x00\x00\x00jar\x00\x00\x00\x00\x00deb\x00\x00\x00\x00\x00iso\x00\x00\x00\x00\x00gz\x00\x00\x00\x00\x00\x00xz\x00\x00\x00\x00\x00\x00zst\x00\x00\x00\x00\x00pdf\x00\x00\x00\x00\x00pyc\x00\x00\x00\x00\x00ttc\x00\x00\x00\x00\x00ttf\x00\x00\x00\x00\x00exe\x00\x00\x00\x00\x00apk\x00\x00\x00\x00\x00cnt\x00\x00\x00\x00\x00exo\x00\x00\x00\x00\x00odex\x00\x00\x00\x00vdex\x00\x00\x00\x00so\x00\x00\x00\x00\x00\x00cold\x00\x00\x00\x00db\x00'/352, 0x160, 0x860}, {&(0x7f00000101e0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xa80}, {&(0x7f00000102a0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xb80}, {&(0x7f0000000c00)="0000000000000000000000000000005cbed2b6f0e7a58a8ad0ddc32ee9da62a615dbf0437d4dec34afb1b0852b1a76d3cdcaa5753c32edd957aa7568800eed7a797c5087c177754cfaff5ddb3ba6dd084d523b7aa7f159abf6aee38a48b6a15a4d49c5c835739089a09eeb95382ee0d55adf966099243251eeee84cf0a1bd3e5f6482d259789eea5602bf61b38a731250af0921c3c0d585af9fb9e1cead8c42614eb700cda4febba20fe27e55bb9d131c9344fcd2225d1d9e40d58875f4b7bad2826021ffe4e6867b8e1c4", 0xcb, 0xc80}, {&(0x7f0000010380)="00000000000100"/32, 0x20, 0xec0}, {&(0x7f00000103a0)="1020f5f201000e0009000000030000000c000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e00000010000003000000010000000200000022557c7f4c464834a18da3b19154b95500000000", 0x80, 0x1400}, {&(0x7f0000010580)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1a80}, {&(0x7f0000010640)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1b80}, {&(0x7f0000010700)='\x00\x00\x00\x00\b\x00'/32, 0x20, 0x1c80}, {&(0x7f0000010720)="00000000000100"/32, 0x20, 0x1ec0}, {&(0x7f0000010740)="b1da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5010000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/192, 0xc0, 0x200000}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000382c77a20000030000000003000000001000"/64, 0x40, 0x200fe0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000060000000000020c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000510ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000000001400", 0xc0, 0x2011e0}, {&(0x7f0000010900)="000000000000000300000004007800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000500000000080000000000", 0x60, 0x2012e0}, {&(0x7f0000010960)="0000000b000000000400"/32, 0x20, 0x201380}, {&(0x7f0000010980)="00000000000000000000000000000000000000000000030000000000000300000000000008000000000000080000000001000800000000020000000000000000", 0x40, 0x2013e0}, {&(0x7f00000109c0)="03000000000000030000000000000400"/32, 0x20, 0x202000}, {&(0x7f0000000900)="00008c00"/32, 0x20, 0x202e00}, {&(0x7f0000010a00)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x202fe0}, {&(0x7f0000010a80)="0000000000000000000000000000000000000000000000000000000100000000b1da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5010000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/224, 0xe0, 0x204fe0}, {&(0x7f0000010b60)="00000000000000000000000000000000000000000000000000000000382c77a2", 0x20, 0x205fe0}, {&(0x7f0000010b80)="b1da173e382c77a200"/32, 0x20, 0x3ff000}, {&(0x7f0000010ba0)="0000000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/96, 0x60, 0x3ff040}, {&(0x7f0000010c00)="b0da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/192, 0xc0, 0x400000}, {&(0x7f0000010cc0)="000000000000000000000000000000000000000000000000000000005e2ecb6b0000030000000003000000001000"/64, 0x40, 0x400fe0}, {&(0x7f0000010d00)="000000000000000000000000000000000000000000000000000000060000000000020c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000000510ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000000001400", 0xc0, 0x4011e0}, {&(0x7f0000010dc0)="0000000000000003000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000512000000080000000000", 0x5c, 0x4012de}, {&(0x7f0000010e20)="0000000900000000040000000000000000000000000000000000aff13bf6bd", 0x1f, 0x401380}, {&(0x7f0000000a00)="00000000000000000000000000000000000000000000030000000000000300000000000008000000000000080000000001000800000000020000000000000000", 0x40, 0x4013e0}, {&(0x7f0000010e80)="030000000000000300000000000600000000000000000000000000fff7000000", 0x20, 0x402000}, {&(0x7f0000010ea0)='\x00\x00p\x00'/32, 0x20, 0x402e00}, {&(0x7f0000010ec0)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x402fe0}, {&(0x7f0000010f20)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x403fe0}, {&(0x7f0000010f40)="0000000000000000000000000000000000000000000000000000000100000000b0da173e0000000000100000000000000b000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff03000600000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00000100"/224, 0xe0, 0x404fe0}, {&(0x7f0000011020)="000000000000000000000000000000000000000000000000000000005e2ecb6b", 0x20, 0x405fe0}, {&(0x7f0000000140)="b0da8ef35e2ecb6b000000000000000000000000000000000000000000000000a5d99c0d43aee315bf34b14db11d588cc6bc7b", 0x33, 0x5ff000}, {&(0x7f0000011060)="0000000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"/96, 0x60, 0x5ff040}, {&(0x7f0000000180)="000000000000000000000100000001000000000200000001000000000300000001100000000400000002100000000500000000120000000600000001120000000700000002120000000800000005120000000900000004120000000000000000", 0x60, 0xa00000}, {&(0x7f0000011120)="000000000000000000000100000001000000000200000001000000000300000001100000000400000002100000000500000000120000000600000001120000000700000002120000000800000003120000000900000004120000000000000000", 0x60, 0xc00000}, {&(0x7f0000011180)="ed41002080761000535f010003000000001000000000000002000000000000005e1f1f6300000000651f1f6300000000651f1f630000000000000000c9675f30c9675f30000000000100"/96, 0x60, 0x1001000}, {&(0x7f00000111e0)="000000000000000004000000011600"/32, 0x20, 0x1001160}, {&(0x7f0000011200)="0000000000000000030000000300000000000000adda173e0000000002100000ed4100250000000000000000020000007c0d0000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30c76f1e44000000000000000000100000030000000500000066696c653000"/160, 0xa0, 0x1001fe0}, {&(0x7f0000000940)="00000000000000002400000000000000000000000000000000000000000000000000000000000000000cbc7ff08b5305ff15d7a61a574c00000000000000000f00000000000000000000000000000000000000000000000000000000000000000000000400000001000200000000030000000200024a8113ed050000000500018dceceda450600000005000700000000", 0x90, 0x1002160}, {&(0x7f0000011320)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00..\x00\x00\x00\x00\x00\x00file0\x00\x00\x00file1\x00'/64, 0x40, 0x1002960}, {&(0x7f0000000080)="000000000000000004000000040000000000000000000310000021c889933292eab88506c2bf4b219e41586b2ee7e0c3b5dc950e5fe51ed5d17fe4532cc4dda633133cc8325e596aaae7bf8240bdeba0be9e65d43d3b16139a6e1e7481364cab100c31c38db2492eb6b5719ceb4d", 0x6e, 0x1002fe0}, {&(0x7f0000011380)="ed81002b0000000000000000010000001a040000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f305ee78c74000000000000000000000000040000000500000066696c653000"/128, 0x80, 0x1200000}, {&(0x7f0000011400)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00'/1120, 0x460, 0x1200160}, {&(0x7f0000011860)="0000000000000000050000000500000001000000adda173e0000000001120000ffa1002b00000000000000000100000027000000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30f1689d18000000000000000000000000040000000500000066696c653100"/160, 0xa0, 0x1200fe0}, {&(0x7f0000011900)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/tmp/syz-imagegen2941961749/file0/file0\x00\x00\x00\x00\x00\x00\x00\x00\x00', 0x60, 0x1201163}, {&(0x7f0000011a40)="0000000000000000000000001120f5f20100000000000000000000000000000000000000010606007861747472317861747472310106060078617474723278617474723200"/96, 0x60, 0x1202f00}, {&(0x7f0000011aa0)="0000000000000000070000000700000001000000adda173e0000000003120000", 0x20, 0x1202fe0}, {&(0x7f0000011ac0)="ed81012b00000000000000000100000064000000000000000100000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30559f02d3000000000000000000000000030000000900000066696c652e636f6c6400"/128, 0x80, 0x1203ffc}, {&(0x7f0000011b40)='\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/160, 0xa0, 0x1204160}, {&(0x7f0000011be0)="0000000000000000090000000900000001000000adda173e0000000005120000ed81022100000000000000000200000028230000000000000400000000000000651f1f6300000000651f1f6300000000651f1f6300000000c9675f30c9675f30c9675f30b41fa909000000000000000000000000030000000500000066696c653300"/160, 0xa0, 0x1204fe0}, {&(0x7f0000011c80)="02160000030000002400000000000000000000000000000000000000000000000000000000000000000000000216000003160000041600"/64, 0x40, 0x1205160}, {&(0x7f0000011cc0)="0000000000000000080000000800000001000000aeda173eb7c33c1906120000", 0x20, 0x1205fe0}, {&(0x7f0000011ce0)="ff0000000000000000000000000000000000000000000000000000000000000000000300000001000200000000030000000200024a8113ed040000000500028dcece4507000000050001baeed06f0800000005000153bfc55008000000050001120052230900000009000100"/128, 0x80, 0x1601000}, {&(0x7f0000011d60)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00..\x00\x00\x00\x00\x00\x00file0\x00\x00\x00file1\x00\x00\x00file2\x00\x00\x00file3\x00\x00\x00file.cold\x00'/96, 0x60, 0x1601940}, {&(0x7f0000000880)="0000000000000000240400000000000000000000000000000020000000000000000400000000000000000000000073797a6b616c6c65727300000000000087295ca61d5799ae891d706570a214f1d35161635ff5b689483bd4aa472211942c5acb66afa067dc100e103f3dc0a886", 0x6e, 0x5202160}], 0x0, &(0x7f00000007c0)=ANY=[@ANYBLOB="000000000000000000003f10e2d7428f7ff99d98cd1cdc1e2fa50407dbc95739e026b95176c1ba732becc3dddfc7f17060f6312da454cb4a8a8d4042fb51bc0fa9607ec5cbef3456ef2ada10e34603b0c115ab20b4fa4bd6fd3a18b258dff7e760d071cb590bc838aaeb1d9553881cf5e0d603cec2940e27ddf93e7e2a9e39e4b06ba0bc7b365a4e0e5aa57acbe090e4bc0318bf1cba3724282c64acc31060d2e76ba7fca4d49896b879ec7007728c7a"], 0x1) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_int(r0, &(0x7f0000000200), 0xf002) 08:06:34 executing program 1: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000180), 0x0) write$sndseq(r0, 0x0, 0x0) 08:06:34 executing program 1: openat$vcsu(0xffffffffffffff9c, &(0x7f0000000100), 0x200400, 0x0) pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0x8}, 0x0, 0x0) [ 302.009641][ T7144] loop4: detected capacity change from 0 to 167952 08:06:34 executing program 3: r0 = add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) 08:06:34 executing program 1: syz_clone(0x16005080, 0x0, 0x0, 0x0, 0x0, 0x0) 08:06:34 executing program 3: r0 = add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) [ 302.062802][ T7144] F2FS-fs (loop4): Invalid log_blocksize (16), supports only 12 [ 302.085007][ T7144] F2FS-fs (loop4): Can't find valid F2FS filesystem in 1th superblock [ 302.151994][ T7144] F2FS-fs (loop4): Found nat_bits in checkpoint [ 302.255246][ T7144] F2FS-fs (loop4): Try to recover 1th superblock, ret: 0 [ 302.263660][ T7144] F2FS-fs (loop4): Mounted with checkpoint version = 3e17dab1 08:06:34 executing program 3: r0 = add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) 08:06:34 executing program 1: r0 = add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) keyctl$search(0xa, r0, &(0x7f0000000240)='asymmetric\x00', &(0x7f0000000280)={'syz', 0x3}, 0x0) 08:06:35 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) unlink(&(0x7f0000000100)='./file0/file0\x00') write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000008a40)="e74a0f89e88c3aba2d1c776ab25b221b366ab0ac5db05ec87f720b51be2b46fe1aa4d1f50e8d278e8e9641885de16dd0ab77530a7a8c79b801a4c8c9567e29f0fa2752524cd11497506cf97d82f723a251df277d637259d2bb510d2b02d10e860a1edc040eee393f7888f1d66d3a473cb767afa655e1b44ccbec58fb5c93aace8c0b871aa42975bf03e7e187400662d6904e49dee4e2af4c6102ecc3f0337be6784bc4a2a31309934f6f5d25877efe0ed45a3aa006d101d91f9b2afc4f5e481a8421c4c734722ef89ca7f9b44bed7000782cfdb5a200c3a1e9a277a9655f28767a39f9e495dec1e1bb617037b6058df1ac7127ab3150232370a5f2dc482f007ff59665fcbc5eadb27cfc85ffaf1c6da0fc2bcd45e04c038a09526be1689e06771f18a2cdc8e66741fedc0648170210d1980db4781b1ac2968a88df1283eac5f941c56fb5c9fb9dfd9b97abf16d382f346b777f92d9a0342099617e1f6be516d856dcec566100be918c31b31bae1201408197c93352cfa7b68d8ff995bfaef9a1557a00f9c411e5b82818f96f53608cb486d134bcd8ac55cd0e9979c9427abe385dfd50b4096764a7d2b3fbb3bbebd826af4abb97bb0fa75214a5c2a684239686c0bda28d382dab3f293d85ba35edd9e2f22eadf3733944267001e596b8bd36e308dc58d64df4a54779febedaeece93767debfd371bb76a2b9961d007fcb4fa607f1d03ed4ec8a50ed7abe639784569d11787b4e145caceec20145d2ae15b9fd9790589dd2a3612247c6edceb22c7a790d10944acd16050ad6e3de7a4aae0b1c4fd0dbdb8bb70946abf2c95e7e1a6c46d46d98a483edb5e02b7a83dbe8f0608167e7a01671f135b613c11cb307b8e004d4306884907bfc83e0397827146f5101ce5528dd7c07a5d364dcf1857772d7ea518a9847a853ec9e75df1e14fee7c5087dcd923808ded43a63a0716fcc0661c1018847bb327633a1ff9e0dffe85c971e2458b4eca86f44e20db067b30e1cc5f4eed7064f76fec7a772b8239e24de0bc65ed7a48521ce8f9470e5289259c1a93c63251ba3cb9fd40074a66c2ae0d6ab50bc1428ea14a254aba9bf6875885fac3cebababe0abe4fa2c4aa02a83698c15fedf2dc4fe85474c26a9419c8a818515c170576ba2bdeedd7fcc6f318414a4a3d21c9cbeeda8a93420b0edf749ea937d15e3624b9ee08de930510b108de17e126ba03acd647a7ec8ddafe3ca8eddafda604424cc0e1b3229e64b3a8f334cf81062066e6d451306e00c61b0ae09a7457c7a9299acba8f28210e8bf2de29c413c27c06a885f4d76223b657e08e24e881db1bcfe5b6bfd21c10ddd08b82782e1d63f72ec05dadcb3e6f4c651acfb8e108609f37a0ebfa1992eabdbb0d59c3bdfdb6db5c8ee69280855a5a28f25f18c43da954337213621ff72b607e1881bcca05b53f1c48206c4a41ea513bb45197e9ae69064557dda4ab0f2785f5f5e9d0c7b1c81838c5d48f6376a8fcc0230bdde2471a3521ba0cfc222989b336c7aaf81664e3465f45d4d0820833451fa85ce0610dec0bb0dc7020a91f5bfdb6ddee67152a497507c391207b7aeed6bb1f6eb812380b33e42b78d1c1175d9aeef5c67894879d6200acb2aea17c5461bd2909315fb7611d72aaa92a5b1801b6f0402ae8a7a251bc5b7e652861886edcf155515c34306a96e9af5d19d29d425f30dbcc7715490343036ffc28b117c234aefd3e9a210e2248379754ee19c7b24f75ed41e418321a2ee4607e6801bf764f9aac82c13685d81865e4c68ee67d23c02937074e0099461711c5ba2c40f4218f00ff884db32bd6b6c753f352d27de3e9ef39a449f470cc9d5f0a347603ffe125365db8f7ed8db6a6ff3f054b7e3b1e1ba4e3b120abee0d791cd64f3ecab1be0a985f5a04c9bf91566b6af9a0705618a7eb7bd34dc71c6e982fe9c684d2fdcaf5ad1f4366c6b1573520b3a43d1575973976e5a2d8342836da61a919fe291d4e06dc8b8047fdaa591db96c5f708d7efc10d0febd2de603998daa218841c38f38c294f79a058c14b8451e970d45b64ab8cfd811e332ca469c1ad1a703c7889b6af2430b5a9a16efb95767cf6e176aeafe1d7f3e207b92316038a694dc77e4f9d423f023e6e92994bcacc8811afd8022cdf24268c646e4f8f1eec0ebd9adf11a338bb0b76bffdfdba5060cd8858c3861c2020a8367b65b272305871501ce9131ba58f4bee28542651ff43e4b044e08eebdac22901166e5a4690335d5c195d0d895470df40c756e553230fb20485f25e6122c131a1c240a8eeeadae8bd743e25aa7445c4d13bcfc2012a3fffd8e71840a73b0fb86e01b189ed98ffaf53317a3be72575c72b3851f5e6d58946ea53c27a2c074de878396bce0f0a8639e4cd188b0c41bc93ddf2e2bc21f4a6a2a5231612f7cefa0735eaf3fc599c018bfb788b0951173df46c9f57ac58a70364a78d4eed63659e80983ff21b441ba041a6e0f83cf5cbb46787f8032f35ee2d35fbf278ff6b0c4742b0c8e9b8b51081b3db97c75feffcf4793b50a774f9fdb8e1df5bc3b337964677d2e7148e31ea866090136940a9670ff492d88b48d7f5a9cebf32b865381303636930ac76c940454bca3060d8f3e4858b55147eccdbcdef80c64b8030498ce8e15420d1ea46c5406a55c89434765232bab57df4fd145a60191eea9b1d634968e0087083db8bd71be34739261753fba1eb47edda8df45c8bef040b152b1da174b1da36f731cd77a3ed39d6ffdd5bd68d4288c4d464e476c136d3ebd379168bf87ac8ba63a8a6a3f2430af352f2c252a0ef3ea2560870aba83ccecdd0e57ce9859821f0e1da1afec294048a1e22cdd02d5685181998ad20b26539aeb8e8fe02da9f3965583cc8109146ba182b6c8c945bc0e3098a353d07f9f28737fc73ecec7d12ac68f51135a617291d57e57a625bc7fc2174560f24a7667d4106c11922815af1fc4bfca24b625ff6953d8255a7771542d2fccaf74195c957faa3328cb7180b12efc3640eeac8dbac1aa55d236904975ea0521d8b3aa792c8c3194eb15497fb68351b2f662e6dcbb03607feb7c2f29456085d96d4dbcfbbcb2828c812f21624a301b648201d27b9e80862189e7f8e81b479301b4a55dc2aa7732b3460001d072f04c96dc34fbe5f7eaa12107dee5c4fcab6977d65d3e5a3cb2b2334fa2ed10a0ff0f02b43a16f5bfb6d4909b70af2b1b1d072e5c8b0a344ade8c7044a2a1ab9a58ff0e629a2345a9633513ac429ba96b8911c227a306fb23769d02b233b869c91abd605e4d13e92f56b13414e8b29e1e9b203154db9380bbfb66c4548df00dc5f3b13909b2bc4e90d5e3a42b6e4d6e8e1eaff7b319179975ae90e3ded62efbac60abbb57f07c348a4eec2032289ac91476297385e0ba3a9bb08de5894baaf7c6a46b4e04e75c10722dc2c5af819638b8d41c163065cd73b8be3ef6c36cbc556fe87b4d35f14211a86fb8800bcf677a17ab8808224ed0ca780338893612a686fd6d44a1b621096477f6f0760abb232d7bdacf9c7811eb0d87d69452f74c7563c583a3972083cefc8ea05513b87f6d0bc52fcca7d1fa02d5f5f06837526597ea38be7c7a4b33f53917e84e7a46021b85d416a6455cba0646a2e8106ca515022355e72f5c5c81d23b2bc2abcc3ed75db75da3301df758f797a61c33bf8bd3711c202da94de304b7ccd1049d58e13190d56627755ab3ebcdd2922bc162240b9be762247423b434122bf5173147ac981beaf9dcf95f0f28601b5d0dcea36ef0f06be3eaf57a86e0523cdc712ed58bbf081ab9ddf9cc404f6dc3e48299d457c79735587d83d64af69bbcdd1c9654514aee10728fb51ac14f5de78152a2e15b7d40189903e1c8f6decc9b9c22590acfc66c2c61028f2d55609a25e0a99beb9b542ad9b0cd8dc60f5eeea600e8567fdf1675bad45b6d10d4ed8f8bbf012ce632d9d1b73be0944eb9b475a1567c21e22f5b5db331cbc0312fa9069fa04aab947a57d28e7620ad728a589ffe214409284b9ae9fecebf5ef5a99aec1efdde05eb7f2bf80ea66cb5f4580e5eb75e8aaccf203b0e8c29275c05c8ed39029b5d74e20b92dd2b2e6525e7e4e7216735d74f7db4cfb4f76083f69bd6cb2f45a29229e38b54f1e4f5a73d579c23119f720e31d39c119f0f07141c4a461a710e28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(r0, 0x0, 0x0, &(0x7f00000011c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:35 executing program 0: keyctl$KEYCTL_PKEY_SIGN(0x1b, &(0x7f0000000040), 0xfffffffffffffffc, 0x0, 0x0) 08:06:35 executing program 4: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x0) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r0, 0x4040534e, &(0x7f0000000040)={0x201}) 08:06:35 executing program 2: r0 = add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) keyctl$setperm(0x6, r0, 0x5070b22) 08:06:35 executing program 1: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x0) ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT(r0, 0x4020940d, 0x0) 08:06:35 executing program 3: r0 = add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) 08:06:35 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL80211_CMD_START_NAN(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240)={0x30, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_NAN_MASTER_PREF={0x5}]}, 0x30}}, 0x0) 08:06:35 executing program 0: r0 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$TCPDIAG_GETSOCK(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000001c80)=ANY=[@ANYBLOB="0005000012000b4d7a117000fcdbdf2518ae01044e244e240900000008000000ffffff7f1f000000e36500000100000008000000190e00", @ANYRES32=0x0, @ANYBLOB="0180000004000000270400000300000010000100ad"], 0x500}}, 0x0) 08:06:35 executing program 4: request_key(&(0x7f0000001400)='keyring\x00', &(0x7f0000001440)={'syz', 0x1}, 0x0, 0xfffffffffffffffe) 08:06:35 executing program 3: add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', 0x0) 08:06:35 executing program 1: r0 = socket(0x11, 0xa, 0x0) bind$vsock_stream(r0, 0x0, 0x0) 08:06:35 executing program 4: r0 = socket(0x11, 0x2, 0x0) setsockopt$MRT6_ASSERT(r0, 0x29, 0xcf, 0x0, 0x0) 08:06:36 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) unlink(&(0x7f0000000100)='./file0/file0\x00') write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000008a40)="e74a0f89e88c3aba2d1c776ab25b221b366ab0ac5db05ec87f720b51be2b46fe1aa4d1f50e8d278e8e9641885de16dd0ab77530a7a8c79b801a4c8c9567e29f0fa2752524cd11497506cf97d82f723a251df277d637259d2bb510d2b02d10e860a1edc040eee393f7888f1d66d3a473cb767afa655e1b44ccbec58fb5c93aace8c0b871aa42975bf03e7e187400662d6904e49dee4e2af4c6102ecc3f0337be6784bc4a2a31309934f6f5d25877efe0ed45a3aa006d101d91f9b2afc4f5e481a8421c4c734722ef89ca7f9b44bed7000782cfdb5a200c3a1e9a277a9655f28767a39f9e495dec1e1bb617037b6058df1ac7127ab3150232370a5f2dc482f007ff59665fcbc5eadb27cfc85ffaf1c6da0fc2bcd45e04c038a09526be1689e06771f18a2cdc8e66741fedc0648170210d1980db4781b1ac2968a88df1283eac5f941c56fb5c9fb9dfd9b97abf16d382f346b777f92d9a0342099617e1f6be516d856dcec566100be918c31b31bae1201408197c93352cfa7b68d8ff995bfaef9a1557a00f9c411e5b82818f96f53608cb486d134bcd8ac55cd0e9979c9427abe385dfd50b4096764a7d2b3fbb3bbebd826af4abb97bb0fa75214a5c2a684239686c0bda28d382dab3f293d85ba35edd9e2f22eadf3733944267001e596b8bd36e308dc58d64df4a54779febedaeece93767debfd371bb76a2b9961d007fcb4fa607f1d03ed4ec8a50ed7abe639784569d11787b4e145caceec20145d2ae15b9fd9790589dd2a3612247c6edceb22c7a790d10944acd16050ad6e3de7a4aae0b1c4fd0dbdb8bb70946abf2c95e7e1a6c46d46d98a483edb5e02b7a83dbe8f0608167e7a01671f135b613c11cb307b8e004d4306884907bfc83e0397827146f5101ce5528dd7c07a5d364dcf1857772d7ea518a9847a853ec9e75df1e14fee7c5087dcd923808ded43a63a0716fcc0661c1018847bb327633a1ff9e0dffe85c971e2458b4eca86f44e20db067b30e1cc5f4eed7064f76fec7a772b8239e24de0bc65ed7a48521ce8f9470e5289259c1a93c63251ba3cb9fd40074a66c2ae0d6ab50bc1428ea14a254aba9bf6875885fac3cebababe0abe4fa2c4aa02a83698c15fedf2dc4fe85474c26a9419c8a818515c170576ba2bdeedd7fcc6f318414a4a3d21c9cbeeda8a93420b0edf749ea937d15e3624b9ee08de930510b108de17e126ba03acd647a7ec8ddafe3ca8eddafda604424cc0e1b3229e64b3a8f334cf81062066e6d451306e00c61b0ae09a7457c7a9299acba8f28210e8bf2de29c413c27c06a885f4d76223b657e08e24e881db1bcfe5b6bfd21c10ddd08b82782e1d63f72ec05dadcb3e6f4c651acfb8e108609f37a0ebfa1992eabdbb0d59c3bdfdb6db5c8ee69280855a5a28f25f18c43da954337213621ff72b607e1881bcca05b53f1c48206c4a41ea513bb45197e9ae69064557dda4ab0f2785f5f5e9d0c7b1c81838c5d48f6376a8fcc0230bdde2471a3521ba0cfc222989b336c7aaf81664e3465f45d4d0820833451fa85ce0610dec0bb0dc7020a91f5bfdb6ddee67152a497507c391207b7aeed6bb1f6eb812380b33e42b78d1c1175d9aeef5c67894879d6200acb2aea17c5461bd2909315fb7611d72aaa92a5b1801b6f0402ae8a7a251bc5b7e652861886edcf155515c34306a96e9af5d19d29d425f30dbcc7715490343036ffc28b117c234aefd3e9a210e2248379754ee19c7b24f75ed41e418321a2ee4607e6801bf764f9aac82c13685d81865e4c68ee67d23c02937074e0099461711c5ba2c40f4218f00ff884db32bd6b6c753f352d27de3e9ef39a449f470cc9d5f0a347603ffe125365db8f7ed8db6a6ff3f054b7e3b1e1ba4e3b120abee0d791cd64f3ecab1be0a985f5a04c9bf91566b6af9a0705618a7eb7bd34dc71c6e982fe9c684d2fdcaf5ad1f4366c6b1573520b3a43d1575973976e5a2d8342836da61a919fe291d4e06dc8b8047fdaa591db96c5f708d7efc10d0febd2de603998daa218841c38f38c294f79a058c14b8451e970d45b64ab8cfd811e332ca469c1ad1a703c7889b6af2430b5a9a16efb95767cf6e176aeafe1d7f3e207b92316038a694dc77e4f9d423f023e6e92994bcacc8811afd8022cdf24268c646e4f8f1eec0ebd9adf11a338bb0b76bffdfdba5060cd8858c3861c2020a8367b65b272305871501ce9131ba58f4bee28542651ff43e4b044e08eebdac22901166e5a4690335d5c195d0d895470df40c756e553230fb20485f25e6122c131a1c240a8eeeadae8bd743e25aa7445c4d13bcfc2012a3fffd8e71840a73b0fb86e01b189ed98ffaf53317a3be72575c72b3851f5e6d58946ea53c27a2c074de878396bce0f0a8639e4cd188b0c41bc93ddf2e2bc21f4a6a2a5231612f7cefa0735eaf3fc599c018bfb788b0951173df46c9f57ac58a70364a78d4eed63659e80983ff21b441ba041a6e0f83cf5cbb46787f8032f35ee2d35fbf278ff6b0c4742b0c8e9b8b51081b3db97c75feffcf4793b50a774f9fdb8e1df5bc3b337964677d2e7148e31ea866090136940a9670ff492d88b48d7f5a9cebf32b865381303636930ac76c940454bca3060d8f3e4858b55147eccdbcdef80c64b8030498ce8e15420d1ea46c5406a55c89434765232bab57df4fd145a60191eea9b1d634968e0087083db8bd71be34739261753fba1eb47edda8df45c8bef040b152b1da174b1da36f731cd77a3ed39d6ffdd5bd68d4288c4d464e476c136d3ebd379168bf87ac8ba63a8a6a3f2430af352f2c252a0ef3ea2560870aba83ccecdd0e57ce9859821f0e1da1afec294048a1e22cdd02d5685181998ad20b26539aeb8e8fe02da9f3965583cc8109146ba182b6c8c945bc0e3098a353d07f9f28737fc73ecec7d12ac68f51135a617291d57e57a625bc7fc2174560f24a7667d4106c11922815af1fc4bfca24b625ff6953d8255a7771542d2fccaf74195c957faa3328cb7180b12efc3640eeac8dbac1aa55d236904975ea0521d8b3aa792c8c3194eb15497fb68351b2f662e6dcbb03607feb7c2f29456085d96d4dbcfbbcb2828c812f21624a301b648201d27b9e80862189e7f8e81b479301b4a55dc2aa7732b3460001d072f04c96dc34fbe5f7eaa12107dee5c4fcab6977d65d3e5a3cb2b2334fa2ed10a0ff0f02b43a16f5bfb6d4909b70af2b1b1d072e5c8b0a344ade8c7044a2a1ab9a58ff0e629a2345a9633513ac429ba96b8911c227a306fb23769d02b233b869c91abd605e4d13e92f56b13414e8b29e1e9b203154db9380bbfb66c4548df00dc5f3b13909b2bc4e90d5e3a42b6e4d6e8e1eaff7b319179975ae90e3ded62efbac60abbb57f07c348a4eec2032289ac91476297385e0ba3a9bb08de5894baaf7c6a46b4e04e75c10722dc2c5af819638b8d41c163065cd73b8be3ef6c36cbc556fe87b4d35f14211a86fb8800bcf677a17ab8808224ed0ca780338893612a686fd6d44a1b621096477f6f0760abb232d7bdacf9c7811eb0d87d69452f74c7563c583a3972083cefc8ea05513b87f6d0bc52fcca7d1fa02d5f5f06837526597ea38be7c7a4b33f53917e84e7a46021b85d416a6455cba0646a2e8106ca515022355e72f5c5c81d23b2bc2abcc3ed75db75da3301df758f797a61c33bf8bd3711c202da94de304b7ccd1049d58e13190d56627755ab3ebcdd2922bc162240b9be762247423b434122bf5173147ac981beaf9dcf95f0f28601b5d0dcea36ef0f06be3eaf57a86e0523cdc712ed58bbf081ab9ddf9cc404f6dc3e48299d457c79735587d83d64af69bbcdd1c9654514aee10728fb51ac14f5de78152a2e15b7d40189903e1c8f6decc9b9c22590acfc66c2c61028f2d55609a25e0a99beb9b542ad9b0cd8dc60f5eeea600e8567fdf1675bad45b6d10d4ed8f8bbf012ce632d9d1b73be0944eb9b475a1567c21e22f5b5db331cbc0312fa9069fa04aab947a57d28e7620ad728a589ffe214409284b9ae9fecebf5ef5a99aec1efdde05eb7f2bf80ea66cb5f4580e5eb75e8aaccf203b0e8c29275c05c8ed39029b5d74e20b92dd2b2e6525e7e4e7216735d74f7db4cfb4f76083f69bd6cb2f45a29229e38b54f1e4f5a73d579c23119f720e31d39c119f0f07141c4a461a710e28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(r0, 0x0, 0x0, &(0x7f00000011c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:36 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL80211_CMD_ADD_NAN_FUNCTION(r0, &(0x7f0000001bc0)={0x0, 0x0, &(0x7f0000001b80)={&(0x7f00000000c0)={0xec4, 0x0, 0x0, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_NAN_FUNC={0x44, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_CLOSE_RANGE={0x4}, @NL80211_NAN_FUNC_TERM_REASON={0x5}, @NL80211_NAN_FUNC_INSTANCE_ID={0x5, 0xf, 0x8}, @NL80211_NAN_FUNC_SERVICE_INFO={0x15, 0xb, "b9680eae2068ef78d31f8258efaa7c0002"}, @NL80211_NAN_FUNC_FOLLOW_UP_DEST={0xa, 0x8, @broadcast}, @NL80211_NAN_FUNC_INSTANCE_ID={0x5}]}, @NL80211_ATTR_NAN_FUNC={0x448, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_RX_MATCH_FILTER={0x444, 0xd, 0x0, 0x1, [{0x85, 0x0, "848f279e236276638b2ca014662d184723897307a9ebda2695018e868d1dff0f0ac11e5a4d2901c90f904b5e1f4a0a9790da18d07bd3641e37c73f77405ea8cf07f1aa5c5ed2d7ef772180fd5ec111a1f51eab5f49d35bcb7b73d8b331352f1f07197bd21fdbe40fca79400309cb75c28b3f4ef9c21b395bc1c2b60e384140092a"}, {0xb1, 0x0, "e354c663048d44252ab6f4ac21bb34432608f7ea15ca600a4a308eeab30b6d206736e1c4a245e4244608fb4ebd3ba1c01a1c369e0524c6a75e766c3bb32b6c3df61dec7f26bcc01b67c4758cfa08cd4cf0184022c185411ead2bce5ecabbf012b1faf81cc1dec46e1e55eec1bff4994ad358b0aa0d0df07a5228f0f02a04d1bc91ae96c815c82f5355b68b0e4055f2486daec7240a946ce8b6b884a63a6953bf5b527eb546473b364c91f65256"}, {0x79, 0x0, "7cfc905c5614f9f5e29d596231d343def45a7eec25f020e65564c16119679320f4de78af99b06e5f64226996a5c6977a08d32e98fd93224745069b108eedc77b912366e123c95b0abb5a2ae0c7f2cc24465d0f6497ce51ed112f0d2583c91fc3836271dc221f537d19df12445c14faa748b3b8c0d7"}, {0xd5, 0x0, "5e75ef41095cd207ffbc346ecd5b77fd000c0da5f250f4085e8659d4408e158c97ba781b146630804808612aa03831cb3eaf8f0bf04c484f5d6d6250b5e6890677bd675e8c6525faf3022d68b507553e04a719a6c20a7a7f4f674a6016c6ee3de30fd52fff91af28c923f545c964595307c7a69e37ef097e9dfc64bb9760a27702e0c342f78865ca9326f60df755012f9cacb13290e5b5ca9882dd73ea09facb335ad1caf38f6bb2c772a4757c03e5c490ca1e4d94f3dedcb2f792e9d829138180ec2c7c9659bcb6fda32d086361e83a8f"}, {0x85, 0x0, "862b2e60ece4d32aa5b42b1003eb85d450c33f9e59debb8b6bf75ab897e5045fcf9e34c0489cc53e5b17b7e0761a2166eaf507586f2e268544aeb56e4069820c659e7dc24773bcc71e92375bcdd05c0189364968b0459039e7c370ec80dc20a2aa56aafefd0d4c5b6c74f246a77a20baad529a8efc4c03c153aa6ead9e2c01d249"}, {0x7d, 0x0, "26f1a9155920deb7ace6d121ddc5d3861342322c3401fb5556bb51ca8f8d98823fd231a6441f07c860bd31282bc9cbc2865351b528fdd8e003d54cd4e8e915b8cdebee4b02f55c5b409ed5301cc073cd9eeedab65ce1f19adfbcbfbf077dfdb3b6d2f52e313e914358295fc7936a7c3823417cd2ddd26be1c3"}, {0x81, 0x0, "5f996a9e120833d39b39d89a242443893e365c79f709045d6a72f940e325f3bda01ca5d38a7bad765db3f9800d93246a055be422ae32e84a49b9647e184e9d75ca36143275310063d063302efa887da29e9d8e105f5ba12ae0c09857883679df53b6bcb0e23470e34dfcc5c9a92817dc1f90b8816f998f5a33e092e6ba"}, {0x21, 0x0, "5eefa788d4da4806756acbd79eeea92166c6d108a0ef30a73799141429"}]}]}, @NL80211_ATTR_NAN_FUNC={0x34, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_FOLLOW_UP_DEST={0xa, 0x8, @broadcast}, @NL80211_NAN_FUNC_FOLLOW_UP_DEST={0xa, 0x8, @broadcast}, @NL80211_NAN_FUNC_PUBLISH_TYPE={0x5}, @NL80211_NAN_FUNC_PUBLISH_TYPE={0x5}, @NL80211_NAN_FUNC_CLOSE_RANGE={0x4}, @NL80211_NAN_FUNC_PUBLISH_BCAST={0x4}]}, @NL80211_ATTR_NAN_FUNC={0x8, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_PUBLISH_BCAST={0x4}]}, @NL80211_ATTR_NAN_FUNC={0x148, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE={0x4}, @NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID={0x5}, @NL80211_NAN_FUNC_TTL={0x8}, @NL80211_NAN_FUNC_CLOSE_RANGE={0x4}, @NL80211_NAN_FUNC_SRF={0x12c, 0xc, 0x0, 0x1, [@NL80211_NAN_SRF_BF_IDX={0x5}, @NL80211_NAN_SRF_INCLUDE={0x4}, @NL80211_NAN_SRF_INCLUDE={0x4}, @NL80211_NAN_SRF_BF={0x103, 0x2, "b3889b6fc085e0359da9c841693c90ac789f7dfd9318dd640fdbaf7ea305706121455701d6b370a4e94d3cdde5568f5f8fe66c50cd4352b921624727ff3084d7f5e114356bbeae16697a1974431d9af98af2c4dd1a7ba77061e5b4b0c01dd6993e2ade6035b684482160c772b3ee72580b4de82792f5312505ef3622d291d63898577c2a4dfcec3fb767893eb365dce698d0fe049427e590b6fc4e4bb3c2fba81d92da1d42fdbac87610bc5c388f73103dd49278bb69388414d1d4480537dcfaea6aed35ccc6b860c0c28767ac7d5a74167b7f029a49b56a1dfda03d866489d2c58ebaac67ea7be27b8b811838b7fc90122eb1697dc4acccfca71f7c628e81"}, @NL80211_NAN_SRF_INCLUDE={0x4}, @NL80211_NAN_SRF_INCLUDE={0x4}, @NL80211_NAN_SRF_BF_IDX={0x5}, @NL80211_NAN_SRF_INCLUDE={0x4}]}]}, @NL80211_ATTR_NAN_FUNC={0x48, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_FOLLOW_UP_DEST={0xa, 0x8, @broadcast}, @NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID={0x5}, @NL80211_NAN_FUNC_SERVICE_INFO={0x25, 0xb, "d817bef1b383d270ab872abd49c326c0b19af87067fde89eb5521091399116f076"}, @NL80211_NAN_FUNC_FOLLOW_UP_ID={0x5}]}, @NL80211_ATTR_NAN_FUNC={0x10, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_FOLLOW_UP_DEST={0xa, 0x8, @broadcast}]}, @NL80211_ATTR_NAN_FUNC={0x34, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_FOLLOW_UP_DEST={0xa, 0x8, @device_b}, @NL80211_NAN_FUNC_PUBLISH_TYPE={0x5}, @NL80211_NAN_FUNC_PUBLISH_TYPE={0x5}, @NL80211_NAN_FUNC_FOLLOW_UP_DEST={0xa, 0x8, @device_b}, @NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE={0x4}, @NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE={0x4}]}, @NL80211_ATTR_NAN_FUNC={0x800, 0xf0, 0x0, 0x1, [@NL80211_NAN_FUNC_TX_MATCH_FILTER={0x7fc, 0xe, 0x0, 0x1, [{0x2d, 0x0, "4657812c45a8b55857414bf4d5afda2665b8453012d87986a7a06916aa135aeadba2dce9f567833184"}, {0xa1, 0x0, "0dded243eee8172d65ceb33a7339ba0b3e48f5b5e594f31f60df1063bcc2b2ed72d7f0c74108f8d3a764f9718ba7b89fe899c6853680b31988521b64c2492cb69083b59043983478290179536168b3a9e951f8208212c5c71b3d087166f88e9e5b4cdc289b0462126c8b4c9b1764489d46e8e2da291b2f0eb61c0003e389b99013981ead87bfb924f098585f3a33452fe25a5859b2b8e915470aacf0e3"}, {0xd5, 0x0, "02db86bd343fdd775c07edd248b6ffaaed6443ac534dd9bdca17da27f2c8ce19476741df3f8447a28e8e2017498d9b8ef4d672b978d38dc7993cbc0b3bdef6189e03dfe7e037b77601791ed13beed76b33a36be3c66ecf335f48cf184a21fe756ebf2d00daaeaecbfe4bdb4806961c85a8cacfb0fd63d3486259c971088c93a877e03c11b13afd5260778a28fe2f342857b41936a839ddb5dbc42ccd71bce1ccbd127a9e837687e82a7ba9ed7818eb610d9e0d4bf3a903139d16d2d1a68a8e7f850be58b56d6e9705be1da0a29dd6415df"}, {0xcd, 0x0, "60c330454565644568ab3c60a086521d70d3e72b55774cd25a1cebf7d62ce99a15ee45b95fd07bc322b6dc000a1fabeb00ced09a27efc5250cfb4e7578faf678b8af8b9af0698e1769de18c77ec3f860e788609d4db3796811b8cf3ec7de3999b220c7b22d3903c4cc927e0068d49ec6c737935f556adb613d3af2c8c480e04ec0ea7398f30085ad5050104b6bb7f5945465d850bf6438e1df581e9d12127d8fd5ab1b4e6f526c57fed850df60aa8168940baef4b75f0dc0ee20969569f386f1271051b18eb674643b"}, {0x579, 0x0, "a3f45fee1f17a81499cac12596ac220278e683bc1ab6cb4b5bd94a25cb7319a7e3774c582210199c3f7414792b456b6639a6320dcf4ce11aa5a61dd86c3cd93a908071196219df0beb9bc51cc4c4b3bbea15669d8978ae0a07906b8f9415f94f7f4a03c9982f0a57f0fdd6e87df83d129011e38f6d2ce60417602a6e0dbb01c4960ddd014cd182d243b83298edcfe37fc6dce9a11873356c610027cadcbfd7203e73ccf750aa0c8693b67db6a7c50b14c581dc2ae3c5b11e3ede3cc4f72608a2f73d56aebdbb4ef3ab731293fd63984574c0ab2e8dcb198d7d804921375e215ab40c1ef5c264db0be1612d7091c8b3ee721ba45016e9d2ae78acc4ce0876cc2169876a46e18d9f6522a808a613f40eac7c023c2f076938a689088aef26705ad1ce77325e04214ce8d004a419d6c9d7ecef45d016c92a9dac44b754508bdc7f68b89a1dbc36ce7c1643fc5b360e1476b6f06b459de6d4d6c1d7a9ae3fba483b3ba31590108a02909a6b152e79da88befd631d61d69a3fb999d77609bb74d4ce2782ecf3bd9a97094b19f7f9c0e34edaf58df7d10e479137e717ab646ff98d55369c37afd1cc6eeb823ebb1d13c2b3ebc0bb546212b1af7a884ab66d59b7b2e4b6ffc650adc40bb476444bd98b3a6f20fe1bb0ede149ad24dd0a14522a5a7c2790a65c480cccdb7e92f68f381860ff3d5af4662ce6a7f09edfd0adf3ab70f99d51b5395238b06b54ae0fb5e7b696cdf7ad702a72deded58e251372f918f17fab0441d0681480c6cd71886860a98c3883d861a3234dad7473b93fcfdcf4f83673585484507f0a8189aa6d33d8ebe5f4cf055ae0aa6e6ec484f17a7e2c89d5ec5d19aa505a64b48ee86f8b99ce44ecdd4ab32227d1abc6564dec73b53bfaecf430a174af7583e7b4dbf90debf03501df3a08cdb4f9c30a7cb2aef136d065fdbc896a76fe103427269d2382dcc82833ac49404c02d539497b78f213aa4ab228bc026b0bbe1dfa41bb066b86209feb52f4c475c8e256bdd9ab0fcbd76fbae6463b34b60cf8b239b3cc8068963dad40f93efbee6c8ffd617f0247df931d5a15d8371f7bcec05e7c91b47732964d639b717b0e63d2926436fd6289938c4b79dedc9e6feeebc7d82f9a2dc83a982505f77c8ac420c5ecfff5e099544bf1d18a9707ad9237e48099e6b28980541b6d3f6dbdab25e673f9d56769dd2f01573101e162b216398dc5278cfc0e2aa79a83243f7ee499d91ce78061cded3571771688f4b546ae182a5486d6cc133e1ef017cf11c3c3e01fe745c63eae846020b1623c7b118048f3a2ea712f918692f5ab4d6ddf79737379d5bb9cf708fde774cc301c83716ee8ed56dd12603bda16e3074223243be6b966886d95b83afb54dee290dc13bf201c4661bba0f155e3f628c3d12f9d352031c1addd06facbebb39714faaca6cd4f7497261c61cacf6b85869bb1301cc8c3f8dbcf30d3102c0c3dc1e903a71a4d55320d2a223f2841b1d8cede65d7b34efd9d8b9fd8a821ddbe0bd34feb506073a41b6a7c0ef8cbd05e2c4ada2ae9eb964507879e116641d6516950020e19b0675afdda20c63185d2be8b3fb73ee797ae595f866300a305628b333d19939b16be2ae8daaa84fc00279b5fbddad8bf142d381e0fbc4da2334a40cd7eedcd0cc847371c35a438c5d1bf372fce53894d2270e186a3d44d59dff415780d73d7d643cbd78d1eca2f205085f06d730e9b740860bb220a152788d9b688c68999423c10186b882d16fef17c6c15f462cad2c5ddf3f928e9fb5b7eab6d0792e85f93362d59be8ba7c0be122e21680e3574dc22e0531790c19afb56aa46485d9831e56459d8cb2f049aed2b14cc3378c3e288eef90f11cbfaf080e019d4507db03d984c1def83b3a98351115ced5d27a110fc2b4a9e6e9288fa7a6f78ce183ec068343fc222b6c0d648fd8ef8f64d84ff9d66a98a2c75becf6c84fc2ee7"}]}]}]}, 0xec4}}, 0x0) 08:06:36 executing program 2: r0 = socket(0x2, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000000)={0x28, 0x0, 0x0, @my=0x1}, 0x10) 08:06:36 executing program 3: add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', 0x0) 08:06:36 executing program 4: r0 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$TCPDIAG_GETSOCK(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000001c80)=ANY=[@ANYBLOB="0005000013000b4d"], 0x500}}, 0x0) 08:06:36 executing program 0: socket$nl_generic(0x10, 0x3, 0x10) socket(0x2, 0x1, 0x0) socket$nl_generic(0x10, 0x3, 0x10) socket$nl_generic(0x10, 0x3, 0x10) syz_usb_connect$cdc_ncm(0x0, 0x6f, &(0x7f0000000100)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x8, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5d, 0x2, 0x1, 0x0, 0x50, 0x0, {{0x9, 0x4, 0x0, 0x0, 0x1, 0x2, 0xd, 0x0, 0x0, {{0x6, 0x24, 0x6, 0x0, 0x1, "db"}, {0x5}, {0xd}, {0x6}}, {{0x9, 0x5, 0x81, 0x3, 0x20}}}, {}, {0x9, 0x4, 0x1, 0x1, 0x2, 0x2, 0xd, 0x0, 0x0, "", {{{0x9, 0x5, 0x82, 0x2, 0x10, 0xf7}}, {{0x9, 0x5, 0x3, 0x2, 0x200, 0x8}}}}}}}]}}, &(0x7f00000009c0)={0x0, 0x0, 0x10, &(0x7f0000000200)=ANY=[@ANYBLOB], 0x2, [{0x2, &(0x7f0000000240)=@string={0x2}}, {0x0, 0x0}]}) 08:06:36 executing program 1: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x0) ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT(r0, 0x4058534c, &(0x7f0000000040)={0x0, 0x0, 'client1\x00', 0x0, "71a18baa01641a81", "f65ee1c0ec21c73e7b9bb59b599edce2cd1c4b1bc99314922f09aa547660bf34"}) 08:06:36 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f0000000080)={&(0x7f0000000300)={0x1ec4, 0x0, 0x0, 0x0, 0x0, {}, [@WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg2\x00'}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_PRIVATE_KEY={0x24}, @WGDEVICE_A_FWMARK={0x8}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg2\x00'}, @WGDEVICE_A_PEERS={0x1e3c, 0x8, 0x0, 0x1, [{0xe8, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @a_g}, @WGPEER_A_FLAGS={0x8}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_FLAGS={0x8}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "25680bbbabacdf7c5b2e768f53a29a8f34fee0a7a655fdb8f3337f47cfeb7d76"}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "c60034b0cccabfe853445a0b094e2ddcd786f835e958cae8f0847a3d2b8bf10b"}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "228b95170b465083aef7f206f0f9269e237236f29e592b80d6d9f7aa474170a3"}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x0, 0x0, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}}]}, {0xd2c, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_ALLOWEDIPS={0x764, 0x9, 0x0, 0x1, [{0x88, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}]}, {0x94, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}]}, {0xe8, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}]}, {0xdc, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}]}, {0xf4, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5}}]}, {0x118, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @dev}}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}]}, {0x118, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5}}]}, {0xb8, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @empty}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}]}]}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x0, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6}, @WGPEER_A_ALLOWEDIPS={0x41c, 0x9, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}]}, {0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}]}, {0x13c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @dev}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}]}, {0xf4, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @broadcast}}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00'}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}]}, {0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @local}}, {0x5}}]}, {0x94, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}]}]}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x0, 0x0, @mcast1}}, @WGPEER_A_ALLOWEDIPS={0x124, 0x9, 0x0, 0x1, [{0x34, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}]}, {0x70, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}]}]}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6}, @WGPEER_A_FLAGS={0x8}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @a_g}]}, {0x66c, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x3d8, 0x9, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}]}, {0xb8, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}]}, {0x88, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}]}, {0xac, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}]}, {0x10c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}]}]}, @WGPEER_A_FLAGS={0x8}, @WGPEER_A_ALLOWEDIPS={0x288, 0x9, 0x0, 0x1, [{0x88, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}]}, {0xb8, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}]}, {0x100, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @private}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}]}, {0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}]}]}]}, {0xcc, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x8c, 0x9, 0x0, 0x1, [{0x88, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}]}]}, @WGPEER_A_ENDPOINT4={0x14}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6}, @WGPEER_A_PROTOCOL_VERSION={0x8}]}, {0x46c, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6}, @WGPEER_A_ALLOWEDIPS={0x43c, 0x9, 0x0, 0x1, [{0x124, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @remote}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}]}, {0x64, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @broadcast}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}]}, {0xe8, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @dev}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x5}}]}, {0x124, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @dev}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}]}, {0x7c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}]}]}]}, {0x15c, 0x0, 0x0, 0x1, [@WGPEER_A_FLAGS={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_ENDPOINT4={0x14}, @WGPEER_A_FLAGS={0x8}, @WGPEER_A_ALLOWEDIPS={0x10c, 0x9, 0x0, 0x1, [{0x7c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @private}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @remote}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}]}, {0x4c, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5}}]}]}, @WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x0, 0x0, @local}}]}, {0x178, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "d14bc5003998e5fc54c8416c02612679f3953ed59228652c898b120357862485"}, @WGPEER_A_ALLOWEDIPS={0x150, 0x9, 0x0, 0x1, [{0x64, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @mcast1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private0}, {0x5}}, @ipv4={{0x6}, {0x8}, {0x5}}]}, {0xe8, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @loopback}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast2}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @dev}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @mcast2}, {0x5}}]}]}]}, {0x1ac, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x1a8, 0x9, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @local}, {0x5}}]}, {0x118, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @local}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @private1}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @multicast1}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @remote}}, {0x5}}, @ipv4={{0x6}, {0x8, 0x2, @empty}, {0x5}}]}, {0x70, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @ipv4={'\x00', '\xff\xff', @broadcast}}, {0x5}}]}]}]}]}]}, 0x1ec4}}, 0x0) 08:06:36 executing program 3: add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', 0x0) 08:06:36 executing program 1: r0 = socket(0xa, 0x3, 0x5) sendmsg$IPVS_CMD_DEL_DEST(r0, &(0x7f0000000180)={&(0x7f0000000000), 0xc, &(0x7f0000000140)={0x0}}, 0x0) 08:06:36 executing program 2: r0 = add_key$keyring(&(0x7f0000000080), &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000380), &(0x7f00000003c0)={'fscrypt:', @desc1}, &(0x7f0000000400)={0x0, "3dbbdb13ab1a195d07eced93296693c73724f023fd58f1a11be1ed2dd8d9749d754b16c862f4fddea769e5e47b3c8cb352aeeacd9977bfcbd78a105232ba0132"}, 0x48, r0) keyctl$KEYCTL_RESTRICT_KEYRING(0x1d, r1, &(0x7f0000000300)='rxrpc_s\x00', &(0x7f0000000340)=@keyring) 08:06:36 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL80211_CMD_START_NAN(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240)={0x14, r1, 0x1, 0x0, 0x0, {{0x7e}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_NAN_MASTER_PREF={0x5}]}, 0x30}}, 0x0) [ 303.913176][ T7223] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 303.948826][ T7223] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db [ 304.109057][ T3744] usb 1-1: new high-speed USB device number 11 using dummy_hcd [ 304.360784][ T3744] usb 1-1: Using ep0 maxpacket: 8 [ 304.480881][ T3744] usb 1-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 304.500576][ T3744] usb 1-1: config 1 interface 1 altsetting 1 bulk endpoint 0x82 has invalid maxpacket 16 [ 304.560764][ T3744] usb 1-1: language id specifier not provided by device, defaulting to English 08:06:37 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) unlink(&(0x7f0000000100)='./file0/file0\x00') write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000008a40)="e74a0f89e88c3aba2d1c776ab25b221b366ab0ac5db05ec87f720b51be2b46fe1aa4d1f50e8d278e8e9641885de16dd0ab77530a7a8c79b801a4c8c9567e29f0fa2752524cd11497506cf97d82f723a251df277d637259d2bb510d2b02d10e860a1edc040eee393f7888f1d66d3a473cb767afa655e1b44ccbec58fb5c93aace8c0b871aa42975bf03e7e187400662d6904e49dee4e2af4c6102ecc3f0337be6784bc4a2a31309934f6f5d25877efe0ed45a3aa006d101d91f9b2afc4f5e481a8421c4c734722ef89ca7f9b44bed7000782cfdb5a200c3a1e9a277a9655f28767a39f9e495dec1e1bb617037b6058df1ac7127ab3150232370a5f2dc482f007ff59665fcbc5eadb27cfc85ffaf1c6da0fc2bcd45e04c038a09526be1689e06771f18a2cdc8e66741fedc0648170210d1980db4781b1ac2968a88df1283eac5f941c56fb5c9fb9dfd9b97abf16d382f346b777f92d9a0342099617e1f6be516d856dcec566100be918c31b31bae1201408197c93352cfa7b68d8ff995bfaef9a1557a00f9c411e5b82818f96f53608cb486d134bcd8ac55cd0e9979c9427abe385dfd50b4096764a7d2b3fbb3bbebd826af4abb97bb0fa75214a5c2a684239686c0bda28d382dab3f293d85ba35edd9e2f22eadf3733944267001e596b8bd36e308dc58d64df4a54779febedaeece93767debfd371bb76a2b9961d007fcb4fa607f1d03ed4ec8a50ed7abe639784569d11787b4e145caceec20145d2ae15b9fd9790589dd2a3612247c6edceb22c7a790d10944acd16050ad6e3de7a4aae0b1c4fd0dbdb8bb70946abf2c95e7e1a6c46d46d98a483edb5e02b7a83dbe8f0608167e7a01671f135b613c11cb307b8e004d4306884907bfc83e0397827146f5101ce5528dd7c07a5d364dcf1857772d7ea518a9847a853ec9e75df1e14fee7c5087dcd923808ded43a63a0716fcc0661c1018847bb327633a1ff9e0dffe85c971e2458b4eca86f44e20db067b30e1cc5f4eed7064f76fec7a772b8239e24de0bc65ed7a48521ce8f9470e5289259c1a93c63251ba3cb9fd40074a66c2ae0d6ab50bc1428ea14a254aba9bf6875885fac3cebababe0abe4fa2c4aa02a83698c15fedf2dc4fe85474c26a9419c8a818515c170576ba2bdeedd7fcc6f318414a4a3d21c9cbeeda8a93420b0edf749ea937d15e3624b9ee08de930510b108de17e126ba03acd647a7ec8ddafe3ca8eddafda604424cc0e1b3229e64b3a8f334cf81062066e6d451306e00c61b0ae09a7457c7a9299acba8f28210e8bf2de29c413c27c06a885f4d76223b657e08e24e881db1bcfe5b6bfd21c10ddd08b82782e1d63f72ec05dadcb3e6f4c651acfb8e108609f37a0ebfa1992eabdbb0d59c3bdfdb6db5c8ee69280855a5a28f25f18c43da954337213621ff72b607e1881bcca05b53f1c48206c4a41ea513bb45197e9ae69064557dda4ab0f2785f5f5e9d0c7b1c81838c5d48f6376a8fcc0230bdde2471a3521ba0cfc222989b336c7aaf81664e3465f45d4d0820833451fa85ce0610dec0bb0dc7020a91f5bfdb6ddee67152a497507c391207b7aeed6bb1f6eb812380b33e42b78d1c1175d9aeef5c67894879d6200acb2aea17c5461bd2909315fb7611d72aaa92a5b1801b6f0402ae8a7a251bc5b7e652861886edcf155515c34306a96e9af5d19d29d425f30dbcc7715490343036ffc28b117c234aefd3e9a210e2248379754ee19c7b24f75ed41e418321a2ee4607e6801bf764f9aac82c13685d81865e4c68ee67d23c02937074e0099461711c5ba2c40f4218f00ff884db32bd6b6c753f352d27de3e9ef39a449f470cc9d5f0a347603ffe125365db8f7ed8db6a6ff3f054b7e3b1e1ba4e3b120abee0d791cd64f3ecab1be0a985f5a04c9bf91566b6af9a0705618a7eb7bd34dc71c6e982fe9c684d2fdcaf5ad1f4366c6b1573520b3a43d1575973976e5a2d8342836da61a919fe291d4e06dc8b8047fdaa591db96c5f708d7efc10d0febd2de603998daa218841c38f38c294f79a058c14b8451e970d45b64ab8cfd811e332ca469c1ad1a703c7889b6af2430b5a9a16efb95767cf6e176aeafe1d7f3e207b92316038a694dc77e4f9d423f023e6e92994bcacc8811afd8022cdf24268c646e4f8f1eec0ebd9adf11a338bb0b76bffdfdba5060cd8858c3861c2020a8367b65b272305871501ce9131ba58f4bee28542651ff43e4b044e08eebdac22901166e5a4690335d5c195d0d895470df40c756e553230fb20485f25e6122c131a1c240a8eeeadae8bd743e25aa7445c4d13bcfc2012a3fffd8e71840a73b0fb86e01b189ed98ffaf53317a3be72575c72b3851f5e6d58946ea53c27a2c074de878396bce0f0a8639e4cd188b0c41bc93ddf2e2bc21f4a6a2a5231612f7cefa0735eaf3fc599c018bfb788b0951173df46c9f57ac58a70364a78d4eed63659e80983ff21b441ba041a6e0f83cf5cbb46787f8032f35ee2d35fbf278ff6b0c4742b0c8e9b8b51081b3db97c75feffcf4793b50a774f9fdb8e1df5bc3b337964677d2e7148e31ea866090136940a9670ff492d88b48d7f5a9cebf32b865381303636930ac76c940454bca3060d8f3e4858b55147eccdbcdef80c64b8030498ce8e15420d1ea46c5406a55c89434765232bab57df4fd145a60191eea9b1d634968e0087083db8bd71be34739261753fba1eb47edda8df45c8bef040b152b1da174b1da36f731cd77a3ed39d6ffdd5bd68d4288c4d464e476c136d3ebd379168bf87ac8ba63a8a6a3f2430af352f2c252a0ef3ea2560870aba83ccecdd0e57ce9859821f0e1da1afec294048a1e22cdd02d5685181998ad20b26539aeb8e8fe02da9f3965583cc8109146ba182b6c8c945bc0e3098a353d07f9f28737fc73ecec7d12ac68f51135a617291d57e57a625bc7fc2174560f24a7667d4106c11922815af1fc4bfca24b625ff6953d8255a7771542d2fccaf74195c957faa3328cb7180b12efc3640eeac8dbac1aa55d236904975ea0521d8b3aa792c8c3194eb15497fb68351b2f662e6dcbb03607feb7c2f29456085d96d4dbcfbbcb2828c812f21624a301b648201d27b9e80862189e7f8e81b479301b4a55dc2aa7732b3460001d072f04c96dc34fbe5f7eaa12107dee5c4fcab6977d65d3e5a3cb2b2334fa2ed10a0ff0f02b43a16f5bfb6d4909b70af2b1b1d072e5c8b0a344ade8c7044a2a1ab9a58ff0e629a2345a9633513ac429ba96b8911c227a306fb23769d02b233b869c91abd605e4d13e92f56b13414e8b29e1e9b203154db9380bbfb66c4548df00dc5f3b13909b2bc4e90d5e3a42b6e4d6e8e1eaff7b319179975ae90e3ded62efbac60abbb57f07c348a4eec2032289ac91476297385e0ba3a9bb08de5894baaf7c6a46b4e04e75c10722dc2c5af819638b8d41c163065cd73b8be3ef6c36cbc556fe87b4d35f14211a86fb8800bcf677a17ab8808224ed0ca780338893612a686fd6d44a1b621096477f6f0760abb232d7bdacf9c7811eb0d87d69452f74c7563c583a3972083cefc8ea05513b87f6d0bc52fcca7d1fa02d5f5f06837526597ea38be7c7a4b33f53917e84e7a46021b85d416a6455cba0646a2e8106ca515022355e72f5c5c81d23b2bc2abcc3ed75db75da3301df758f797a61c33bf8bd3711c202da94de304b7ccd1049d58e13190d56627755ab3ebcdd2922bc162240b9be762247423b434122bf5173147ac981beaf9dcf95f0f28601b5d0dcea36ef0f06be3eaf57a86e0523cdc712ed58bbf081ab9ddf9cc404f6dc3e48299d457c79735587d83d64af69bbcdd1c9654514aee10728fb51ac14f5de78152a2e15b7d40189903e1c8f6decc9b9c22590acfc66c2c61028f2d55609a25e0a99beb9b542ad9b0cd8dc60f5eeea600e8567fdf1675bad45b6d10d4ed8f8bbf012ce632d9d1b73be0944eb9b475a1567c21e22f5b5db331cbc0312fa9069fa04aab947a57d28e7620ad728a589ffe214409284b9ae9fecebf5ef5a99aec1efdde05eb7f2bf80ea66cb5f4580e5eb75e8aaccf203b0e8c29275c05c8ed39029b5d74e20b92dd2b2e6525e7e4e7216735d74f7db4cfb4f76083f69bd6cb2f45a29229e38b54f1e4f5a73d579c23119f720e31d39c119f0f07141c4a461a710e28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f0000005f00)="4ed88ef6f971ddebcb2d85970fced30d60ce37ce03b1b6dcab31d6e4d9e84ed7d6e43289be9c65a37254edbb46b85cddc96d26184d0914a27ffe4ba441c6b79b251c420b2b2c2f63624d180e869052798b480701f55e29c556f304fbe567bf5813f71a685841d0f345fc1dc835982d44a5149029727d5f32e2659dfd905af3855f37fe552cd1a690335b5b7e21b8a43b463a43a55bc764d18eed175b218dcd94eec96d753c350f372ed4a1b4fb1227d161b3644b42854d78a7850c8e4e229643842663292f9dfbf74b0c408335a097b8ac3bd59244c58e3af3a354336cd3eb9fba00bb03a35227baf92d7ee1988de903f6471c27d952e38911cfbeeaf4bbf74cec8837b33e4f91d3704801480fe8df11f5f775de272b15ae680be807404f2cad30409df39167a7fc7887567f6fc8803ebe6a41e367743b3e27184f72ec6b94ff6b650fc4b0f5b98a5f364f929a25a09e73c8faea7dcb8d1b36bf2e30376742d90c1a6883494548a48361dfbd9b84d00d719516c4a4089dd64c57db3cacc575e9326c8032c4777eacb231626a54fa5649e54ddd232720a13166fbd1bf8d13851f8d573e77deb8d7fd2749daf95d80c94930001af6abe9346025d86c47d2ba16197c28f5b6e3d34341d4319813e15fbc05580aaeec3289962b294ba42c4064d36519af2ede4bd25efd6c91063ee748bd6da074fee1021ca19568fc4770053ca3e38b5117d12b42410f41a10d1860fafb1df37dac10dec1bc20aedfadbe72cb8477ed2803e43a6207329c38e266263ae3492f9beb3a649ac6bec1bd1c46d8079fc4111d3d8bd6ccd0b08caa7fe9dff180319d7a23abf41a9f119e101ab54f4408ee7602bef45c5ab65948bc573dfe0a75a3a843e86b35ff22f3d65945b8a5e95ca6f1a41ed56109ab102b3a1322f508a33e575984ce3bd91afdabfdd5a4310b957b66275809505683037f7e095850df8c1067955933d6087e2ef12c44bf601cd9dd414a6972377bdd7a5c43a0a2e0ffffbc2d0d516833420625a7722f286dd5e51b3c5760dabed81aca8684cac5e4e4a0199f5d5489a6afa3eceb84ec27ccb5dcab370ee93b161153d06909b043832d0d0596f09c595678bae9954d2f5b3bf63e804356a7dcaed9b9072cef63e25f0a8430b3c2ba48a9c89dfbd6f16c4f3912da9e4aeb9f8e8c8c54c0eb409eb5d3c10b960c2d4516deba55e1804a9573a4d73d6dbad52e62fa85ed0f5aa0592a9d2e55fee5ece0e61f71091e6431c3988d2ab8a5e446377ad3dcfb9a7b2cd9b58026281a10338786499c47d3287aac008d8a080fa3671d35c3f4637934fb9070cad1a909446012d6d4de71bac2adae40bf93b9992acf18a2791ead018fd0e9e043312a4b72570e0d7ad5512ad237804c6855e93128ae3f16dfb2efb8560adc8323c31eca68197b87fb5f0a81c5584457d86a032d71ddd433427dadcb36c57d49a896fe0cac510494244b7279a8d65082fe9946892d8ca67f2d9aba8e1a2d6110bbf7fb978af143d9664405e353d01ba347326f9edfe1a1061a07c5098cdd305497f7807b1249cca1aa2d22bcbc33b1a4f177a496e823fe70581fca97828e63f56d9ff431ea66e60d24b6a69cee085ecbf521a64327e9d11b4826a4a6564797ead27174e841cf809b149a9abd589773b1bd20ea39374ebe5e521a4dd47ea7638cf20dbca689c712124f630602894eb0e0b4d2bf200b03546f308b37b97619ebac4b353661dd133b4da29b12835bd5888fcaa0d81bef902d6f1726e67c64e55a75550b94418aad7c7bf0f9b09ab52cae0d8eb93f84f2c123cbdd7e628900cfb19437657a6bc3cb11ab3cc0ab9ef77b84de6681733f5615c33b1002c6cebc49793182fd5574967ff4dac233bf62014a56cfe5a11238eeeacb01b1810e8c681d960087e74c0ffb346b47b5bef4b18d7804fc0973a2b789fb84e3b3fdfe8bc66c7634d2ff7c3a87847d55e813085fe5b1e99eecac1f3788914394e7ddbed28b51ebbed57a525905e1317ae3e6217a97c397d0fcac0fbfd3e15d0c28695a86fdf74d4673c8b7f7667c649c19a8fbcd1f131a0863307a767cb82a0d983d7261a2e2784e0e0ad1a50dece973e03aa99cea39b279d704da1aa7148e0e2a9d368db0358b08b6f2bae94f7716770c5ffa0ef710e6e7005e1a38a8a8e2406f5372e496469c78df38c283e40597f8aa4f392537af107127f1ffa53adb6d8acae9c13b6ee15bc80f90cce59765233e11612c98053c95e1866b2f7d23d696d38cb2ec166cddcd7992046c7b526971c661bc02d4e5ac756f6a8b15beecd067adc562892a760bc2ad9207804f088d90a92e2577a66216ef75cd1888aac72d04aaefa3a2238d46c2a595e843aa28cb6ba9d9ecc012a3a7f433f04518313ba7e74c82a9efae57c7172ec77c2721089f83083a4a2616b9af9c3fbd175f9f1a65edbdbce33f7d5b820988a8586165dd62c64ec43ed9616a00ae6e70b54df88fde07329a84e100e3822384ea4bec1ce927b0a2a8c45b8f2523e64829a12cf2370dd66991593478b65a9cd9f5bc04a4ffbbbb31a37656fc324726514b9f59cd873874c883e108af3f235c5ba65d53dcb976290f25dc6d1d11f6712568e7acbc76c4d43b64f7de917e60b2ebed1aacba2a9f5186cd3c4ca2421aeb5c32d2885f3d75354f45c34502a39641add4e5f6d889fe7ba36d710180a6fbe9282f0547d664ccc9a0acf5f433efdb477172238d1f2abb08c6deaf05a36de315a846a8203295f4cc1d2ae879282f39a77c1a3c541466a6ef9d0a775a7d265cc420a26a33b11d8d82370638d6ec8330e36e3e3a52e62397bad6d1c543242f4521f534c78fe9f720f7ad2b821165b355be83e8c20f53dac159ea18bcff78c37b522031fa0bbffe4734d80c034a5986726a5a10e098936f9baaef118c26538cd16300097033815d2ac8536f16d8f8dfaa95355b1d4466ba70ab55032c7df3e9f19c33608178fbf0478453ad5c6a1d529cff271823d0fc338d3be19b5f06d5a26447b249085255620ddfc1da3f21e3e8df92ca94f5566c64d56ddf9e7ee97db2b407689ed38a31b4f688458d2fad6f6101c4f9b9fcebde3b880ada02d98dfa6f85bccedda2a1b0f6c08e9578cac571813b5da8acb324739b07bb2dd92dbd5fd5a5a8110730fa41e4ce53b40094a2d189e90a562722ba3c3eae37b15d7ddf380373a6b187c7e419142742a97973e9d06bf1eab7dd7772b8b462c9d19aec94b40ca888afc900f44afac20ddc94086a5740daa91a9d591c135e814f6e23321a040823b12771707fb3f85d5967d3510a82d6965a0b586ad510e323788c92487842f98d1806eaa816d445c1a245dae42d61760d76877f4c9d6123a0ea2d1709eb8f4139e428c9441607090af6cc3acfd7bc303f3e3d6f4ead52101e3e8337303c532a0e30de69edc3dda4d99df1c1a72e28a00e10aec6f1af44a7dd06ae22fa4cbe66d2272ce066b862a210c36fd2e16a0b5a2270aae88a5ccb5047475cd2c56c088c6c97907a341261e8d15601f11f3061f516527df6fe08843f6071c026021448cc7212395c6ef91f08084fe3a651b0ce144be419d415e60ed41dee21587e1657b4809a315ffea907ad817ff4b91314c4eeb424a3ec1d155af0e9601853ee8691b404fa4c85d00a39a1e1b855a7fa1e9d35eb91f062c457a34bb3332a2d167539c7f78b8ed2e854cc30dbd0a40fa3ae2b97b71101c8fafbf0959eacbb02da5df1dcc82da7818a0b9ca85779f63162627202ab93f50962d886a3b4f908596123648e933f47ada2cf0a7cd971ad9a0f281bfebf438cfbae547d4d502fa11d3e9a17193c42702f3eeca08b2c30b40a8c189f5b65fa4050b162ecefddf15eced8b60c70a2d4bab23bdfbfd83008219bf3a954e81f372b86d0a1773656b0f480da9ce215fd7ff051812fbc7bc8a6ffefd371764a906bcc35484d35a713e251bc344b2054d019c2bb75c5ddcf63b267eb1ef09792122946e48371450e69af59217772ea6997c62cd3e75ef928439e61acf5c00f7abe5b226e3f0c49e8d89315d386332111db9d19b746dd6bca8e5dac9e16e7e12bb2af690645a0092ffaac6b90a457bad32067da02bd45f6b3a37b40c36c319dcb86e3cb019d9e6a1df8c69d294b676a95b4d305658815d0e3fd1ccd5963e3f9fae89e98b283b2b32ef56603f6125221a817c52e341182993ef09609854ba010258fc4c1bccd9f0f41755a48bdf61c59d93f8ec38466b96cf6e6aa2b2ea695e74baedf44085f8ef0dd17b34052d747d36318fda11949ae4651d447719bae033cf025ac45e201c5d6998176c8fa3c91d74972bd4c32eeaaef456b82b533263fa542c47a024c1841152416bf842d58277c0429a3a47bf6e55a17646aa17851d86800bb14bc2adc6b9e599a04c463c13e8c828cf8b891685e155137bb39668355476df5f4712e9e55b288b9afb62bb46d9c62c5e40f68b04c4e8aafef667ea569466ef8c353f8171835df14bbce2f4afde6a2c6d2699b0cd7404cd54e6d9747e99d5627a435c9bc2b6183162849e4cf9dabf186777180064fe38eff9975a7a43de9d9ba188e2830021838ebab98e3e23c7dd95337454cc8694867bb6c8baa20681e056c3598255ded5c21f0ee048d510a247a8bf58de6d76a0aca4fc54d507bf34593a6a4f84f6dc6fb97807565b036c61c793295db83cea15102ca36815512dced3d43b20efe95da99cd37ca518de933b047177e2d3e2bd71a452d385b78d6ac0f9b3b5529741c6e1bb1c859ea7b1533ed667fac663e5a98e666009af497d537881ded582d00de9d06283489786db1a4a91886b8b0e7f47b24163b219ad41c4c00af8b0bc992daf65ab73a0810ddf18fd3dd3425963a571040797d7668c4ef5978a4fee941a8a855bf18dfeb21f3ca69fa78f3415b7ca628f6efe0c3c660cbb0c85da0ef7eb6200f7fde3a6a2a1aff5f110941941a4b6d26b6bbb32b6f0515800804bd1e38e3eb3386402d5895d6128afed2d8719b203b2dd05a3dbd4767704a050c1823a810998b98003053bc60a29d9b5c59d5d90ad20705ec2d8afbb05147ebac3df452a923dee2c65c12f377716cb52dcb073775b702d17f7863f8f723d07e5e275c878ccc1cb532f96e8a33bfa9102898dc6f722263bfeff93af5997f52241313c58e6704303268dcc8943129ac80fadb3a8b1baacee271aae9bc9ead57e76e938904c8290aa03bd6c04ef2fb985029522f87c078340dbf22db8162b55a908ff2f15072a6f56adb7e42da29027cdb059cb67ba907bea7f7d41952a44812d6f06d6570f9d159b1b09e97ee7bce68128d42af582e026f9a2ecda0e9d08345ce0acc948d3263a305ca77825bb903fb23ced626b944ba2b7f5c8e9af0ddc0afe126760e3b584c9cb1e68287a116051b3c8b8489a3ae607d199799a6fa619e8c775575e7fe090cea3ff097c66eddedcf213ee483401a126c459e33e8bc13e090712162632d94621424c16e7cf04902474b0a54b4425ff6d6e604f747bf0626043db6cd912cdd391efa3f655eea2b5f9bcb57a8ee495d095532fc9e5e1ea60d16e9c4ade93821f6449b1a3bfb77a6d25d9ffeecc0c72f9f4350cd733138259f0a348c7f7ca4a42e93e6d5180d579696a3c1103b5830aa0b8c5c6a7672d9af608b9ac95ecab659460de6dc814c870449f22a5da81d4c6475f56fecd1396b0ac7ce189e990b4232255d26d436de7edb5f5722033063cfe443a41d8340df464b137ba021b818cf629a7a435f48b08ebb46ba28d468d28ae280438b92a948e76dc7cd79dd7b0240c4bedf5b5402c4c1f9c0b095b8ea90336b2fc2a5f21c07cc835ef5d3df5c1c662b4d99ad72f6c8becf9edf624993fd8468c2326e627eb5e461940754642dfcc5dcea8fd61658b4a862a3c261968ca69bfee43e0a28ca600f3c734b48094bfa976d3bec1c8f0e92d58f12c243b5cbe45eef24c7c4137d33f39a7751bcc65b744d934c55754a3cfe64f7cfaf32cc68eeeec707ed83df0f0da6d6e8bab6d4d5c9c034da3ef439330aa3035be1867504e9e66127297f91c63eea345b3060bee7ace6756e153145ad202b67a318f86bce20cbbb67321d48b0b7403336f0e615f480d675daad809bc61a0849c7ee803dd733c1d720417117789a54d7cd1daa963ad8cc5b3b32f4292998c3b6d6da5abc8dd4314233580d28f4eb94453f8eba624d77c2970f358d1c7477c1cf7f81c3a90516612156cdf63c0de6a57e7e7f05d958ce56d1047318f1e920cce97dd193d8edd0ab2559032770bd521546ee1a17d77e8ab0a8e8242ea2ef383efc0b94892c8d8b15aad9818a4f77cba6b62084e4a618f879c004488832906d7df5e1c25b117b9dd3446a325a6d91fb048bfc0c66005e95cb27e6022de93efa390672b4115ec31e27ca8a0d3a939751b1b11a44a5335f3c0bdda6c343ba8c3de4bd92fb2f4d7eaedc86b9bfe2a577e545cb72d7a477e772c4f94e4d083655074ed6d6f700216e252be2023618f60ea0c969d462b8de088e8c08e5071ef363009e9dc9f87b53b4873c4151ab1fc56295a38b84ee78f3c7d00656a0592d440773c6f49c6191eac61c5c053c2db9cefbbbc3d44a20a27bc2d579fc9b9a2d3eec9ca2ec39a7546dace2b0d7159005c23ad18d93b6f7ae0fdb2e956904b55729357e4cd6f684d20267b2f6df6b8e174baabbbc9cf1de73e649f3b7634486f38118369a449582ce78a49d613bf372aa07e874ce12fd3526880e407abdd34149b221395da84d5ea2f2a6fa93b066f02bf7494d37ac51babe5c595b8b62b7a79d49256ce1c4745ef97118bd2c2fa46ad7c0ee80d85c0e4fc18ac1cb4228db2e091fa3dcdd147ba5a40d66d63acce7d22d1744fcde36918cccd6eb2e5a0520f76f4b01b2a3254b5ad7bcc8eef0b4316498e4314e34face29b662ff9afcab5682f0cce68efc47a37c5a4613928b6e88bda2ddfb47a6fde48277866b9d9236b3bcc880e804048ac2cb5d7aaf84ad9a3e0db1a6d941736f0ae43d8f46783dec0909ba2f5bfe87636d10b33be30c70c8c212de4c15c9c38b65b1e71f792a490515f8ab8cc26b8a3b1db58879fdab140e313ac30168beb519c49b5c2647fa6f66ae0c649427b45d4ce3910e1459b965d4c1fbb2060437804bc26535217c56a27cd495931a2f874a4241dbe74be86e0665e341f71514cb22014858041269917e30772d9c672e6c76ba1e69603d289410ad5a359c9a1aa867da21e2a502a232fe20ce14bb6b127d0250eaa2eb90f412f9e4135b8a079db264bd6af08e36f8d3cc9678751e2522150bc7f5fd773511dc20b66a392768b12b5a6e1e48f341b9d88cd9bb90f3f8e54a1d7df5e5a3e5ac967f956ccbb3d720b26ed8ed7aaa65093b8c92a15c0015a678df3d678637f11682b98f9728cf1dc4ff890b52e6047a0be9631022ef56e5bfdcbd5fedf79cad3cd52f8532cfc6a747853fd55cc0314a4f76a7b0a85e79af9d0aabeec019080808f7d184f6b4ce9e65b548144392a0e942ee236a891824e785510d76d095679cd373360d0aebe03dd6ec243c21b4c1303ea0d14aecd7c20f4baf10b88416d1a8b0cacc72a3223584dcfd7e73f045f26e7da252e3efa4e7bed47850b438c4d44bfc36e26411fa0b05b8492a530ba9ff44ec8075b08cb1a4b0747f77d81b6462a6f4250370004f360da5fa711916b78738015404fbe57458cb448f40d513c3555a18f3a573ace8a837f4c380ae09c1bb8f14069c9f8ddc17b58ac3d8b933c4367254faf0bef639403163db73ad671ee9378c132e101288f5b5acc0462d88ac2c180d9658eccec5cd522c66d9a2e1647e074acf0ce242fb4fafab4b1002a0b93be0cffc10e5be5a0452f01079b6d3fea84e8046e4db8db1e32a9ced18b625f6cd83f6b3b7e67c67653ab148dc7327b7b5e1c61c784c06b577a2a8602841f2aa2dbedb53af0284afd82bce01c9d453e13c18a21f307a7e07b65c393a496205fe594b28e37613dea1aaecf655c4131a6de551a29fb2b7f9a4143b8d038c6b2ef3f4e8b3f2e558f283c6b97b9781bf312076cb3873567b9e9db764791bb5908377f4b0cd11015f31810e7374ac6962b7b8c5f88c171374876854bab5f6146b51f552b0a10debb0fa17e3b568ee8142aac2fb2f4620906934155e63476fa269aade53fb13adc9994939f0a7e0062f65757ceee5f09970137dc1bdb29c4ae3ce8885492a9eca6579aef6d36f611924fd7d4b1f441c5b8eb141be70abcbcf4de13d0bf0bed13ad57b045dcea72925f96b9c2970d96d59c4dad5d24c24166fa8c96ac465f1b7f6a2ab1bcc5cbf28e836840223f57c3583045761fe5e763579f089ed5ce9441074a3272f4da61b11814e8cf4a5e89c3a4c4d002c0389303d03cb94a8810ab8c4d8adbca2d9e2ea28b13fad20f0243388853cd130b59212688b4f06d602c8279604e5fa9dd3229362f78fa5d575e672521ff5f003183fe3ebc561a2268c04c22e6f7b246e936d0c03df4a1f14513a3e3117be78619fc85734dfc69da60c69f0554a9191b96a22035db989b9203216544f18a8ae0da105353621dc4228cbd606d9950d1dfc25f9b1761df9ec9044145e313a69f255c6ac5d333ad258c2b4bd743e0d1a84ea82f0d3863e7cb4ff26427cd1004ae703f9127b686f538117c9427e70c546929fa324798aef128a2ee8cbb0c1c3d9e5a76b7b080a39ead73e3d04c4784568c2b265514f86ae30c38896ab6a8af44f31d8127742092a377382c229df4ff232c967913d3a791977f34b5d62d1d53d24b3721a7c8b4b50f331584eae00873888c18008e061133160a2e7121b6b46c77f640253305bcdac5994a42fc00f55c933d392ae043638afd87b100cdea662e02675c982cffb108f4b79120939ed311670b0fb275843eeb59ff7be1dd8a164acc52f2e70cf9b1f134a0c3115e2e4655177da2f1c157ae1a08394fbeec4621dec09958550e0aea88a884ae2e2f5b66b1dea640a397b144bb57c7c1abee30495cf774e9949e5384329a72793532156299a999321f4a0f38197d4c9fe05af3218e0d9c3545d56c1c36ebe9a0f7812697a263c88dc7bdadd222f3667225d82212007f7a98122101c1fd4906dce78547ca4606f548ea7baa0680396d39df39b973914cc089cb4b654a921e3e1b7b14f1ac878e9407fcfd9a57382d4f5554dcbe3838b8fe9c0df7f15db03bb4efed1572be0eaeeafb1a86f41dc1b384e398dccfb5ba2c960d71bde423a044381fc1ac5a37f0f9dc94fab6df7ac4f3d6b69363cc2736ee8a0658e39c1cf3ebc75fa86446ea649a6620350043193aeb92081178735045a417af26f0000404242aa21ffb0f2d299117728f25de48ef2aa9d9c1c2126ce29954b03d291aff41253228984ae394e276030b8bc4c43f2cce3c859aaa7716ed249a6352729d7145edafc94d40c88c825fdd6e84e0eccdebc5b4ede24d644a4e419924e88d90e17f588f91be0d2c12e3a8be22b72f6975b9c89909311f5267def47734da1222310bb84ad9ddf720b5c7fa66cabc12d4143bbac12c9836110dea15d91abfbd8e4de5e59123359114329eb4d424f112f05c40bc744e4a93ce21f301cc7c128ea786c148fbb10636c1ced8d6c31f21556575cb1f88fde5fec9ae1a4c210e3cc36b948a08195b91736c3fafb3068a945ef4cf330e0a38815f28b3526ada9b533acd1dded425d4f4226dcfe372ed428f7a538af19bd52b600a612d3f80fdafaf8ee6d74d96bbda6d609523c3ed990735b168065930a113f612512e514578fa087586c563cd814de3b8e0cc2e6ac78c34aa20a7898f3d6ea58372a75d2ba8327c9fcb75767073d31d3db42618e4823cbc99c24c49372a2b7ffe56790a588252b10aa39c003c31de3b5681fc116836967ee94a4bbe48482b34c128aec3642fbca0182f1af0156bb8adceddc371a2a390c86d8fa1315c57c70b57a324b2095cf65602e4eda547895bc3926e1428f84ab6e7cc9537b02e82dafabfaa530ba9609e6a96900793f92b0412e79b413cbe441e0bc71aa3b1c96d6e384fbba4e8ae5f048285aca50ae7edf75df40d27524d55f51247589ed163b7ceb1c3d827fc89806f0063adf3df39ab96d7ba4252271c15f8568f09abdb244d4f4e2987cc024de3f1eac1ce6be2109049884cfcc5c8c765ae0a4b9ec1a0f5c592b6670926704609fe8c34be24cba4214d69b4b09c3864ae37685ad8aa90204a45952f9a96bf7da4bf65c79903717b6fb266538338ef1d641e178539c06a3cc1dc78a26d6f10abdb99090c6a80295e11957c0d4dbb0ea0c2b49d9ce60ae0b5035e0602091c051ad78c1e694f0ef9b0ee15c4277a96cd602c0415bf889ea64e40ca7b260a3d08a02d14c90a0d90f00b0850d22b75725d72741ca14eaadbc25525b33a23f5756715c8f3cb8a15008942fc930f5c825a59ccd3501772e1ed617f36388b1c2600292eb97873c9de19d7dd24ce058382a10ecfa8a1b465e969035837919591685c9e481a42bbc21383b3e47fdec2ba69378f08d87840ef90f169ec5911a8b0f05f209352b8d8c7697d95d6dac9c52426fca95d889978efcfbfb0a0df9147cae1e01d36045db64f3226415bfab7a63a436e745874da70dddde244129f65c4c781e47e68076c83ae4aad9deb8aa585597e9bd9e838004329b3e41f56bcc728eea49ae6a6d34f4469026c7b6488109bca2821f087478415e0b5884613ec6e041aa074ff5fc2ed1eb95b98dae81c7c10fd121ba53f36ac0e0355bbe948364d220aca48d67d2f1434d059aae12e1dc38207e767280aa691515b3b466ce119f7fab2713453a6b329630c608724eadaf9caf9205ef873d5a14518f19e485aa82f7dafd68e5a6f5e0338546d7d623e6c4a7930e2a51ae2662619d665c55d1152b81e8e5f41e5ee0d6afded949be947e3a715a5d852ac7688650031563ad15da58c8d9d4c237629cc88fd16e39ef95c47a75b8a2d090c332e6adcbfeb0d4a8e9b38e12e0655bc585a6f9c3f39bff2d46c27a2c18d4aabe40601b8226ffb93538e410c9e8feed1d3e6c444f14e7f8830a4268bd98aed0f94ee3b9a2d13928cc5aa2d303650e79fa536bd5baef42703a5c652c197539f92536dea625889b5c59cb4852e8e6c32c780d84fa868937f0a0adda24a7fb5d8f9a921cca12adb4a6ff47c13d59b13fc81ff86c50aa06a25075af6de2f65493ea48fbad8e8eb9b16d575a5461fc53628ff2588aebb42a9f1a950bb7a4af31233f0ce7c0f41e3203fc287f1967e6eb659bae3d631a02ed6ff1849a45204a0d8a91eb93e24eddfdaf61b1f706eb33bb6017165ff0c3eee4b2e18061bab00004e4af31edb70fed67ff6f720eddd48b3e6bb511685da2ce0439ef1ca6d6df34a65856e84d09b5f3d3093ac5bf604d89310bdedfeaceec9219ff5c27e1d4365338b294c6a6d5fa404b10f1067d1fbe17dc9981303e2948acc4354fe778d40578394d540147fa78b29914849a30b9b1a438bd1f7a9cfe188acf617a1504249eead1a361aff911b696c4cb2d5c6d20690ff0a9c8fdce87625b38756bee80517ddfdbd1473d983acb5b03", 0x2000, 0x0) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:37 executing program 3: r0 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, 0x0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r0) 08:06:37 executing program 1: openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x0) pselect6(0x40, &(0x7f0000000400), &(0x7f0000000440)={0x9}, 0x0, 0x0, 0x0) 08:06:37 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000180)=ANY=[@ANYBLOB="2c000000430001000000270000000000000000000008"], 0x2c}}, 0x0) 08:06:37 executing program 1: r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x0}, 0x0, 0x0, 0xfffffffffffffffd) keyctl$revoke(0x3, r0) keyctl$setperm(0x5, r0, 0x0) [ 304.782957][ T7234] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. [ 304.889167][ T3744] usb 1-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 304.904914][ T3744] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 304.923803][ T3744] usb 1-1: Product: syz [ 304.933658][ T3744] usb 1-1: SerialNumber: syz [ 305.218575][ T3744] cdc_ncm 1-1:1.0: bind() failure [ 305.231499][ T3744] cdc_ncm 1-1:1.1: CDC Union missing and no IAD found [ 305.248027][ T3744] cdc_ncm 1-1:1.1: bind() failure [ 305.264719][ T3744] usb 1-1: USB disconnect, device number 11 08:06:38 executing program 0: syz_genetlink_get_family_id$batadv(&(0x7f00000000c0), 0xffffffffffffffff) syz_genetlink_get_family_id$ethtool(0x0, 0xffffffffffffffff) syz_usb_connect$cdc_ncm(0x3, 0x6f, &(0x7f0000000100)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x8, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5d, 0x2, 0x1, 0x0, 0x0, 0x0, {{0x9, 0x4, 0x0, 0x0, 0x1, 0x2, 0xd, 0x0, 0x0, {{0x6, 0x24, 0x6, 0x0, 0x1, "db"}, {0x5}, {0xd, 0x24, 0xf, 0x1, 0x0, 0x9, 0x1}, {0x6, 0x24, 0x1a, 0x1, 0x2}}, {{0x9, 0x5, 0x81, 0x3, 0x20, 0x0, 0x8}}}, {}, {0x9, 0x4, 0x1, 0x1, 0x2, 0x2, 0xd, 0x0, 0x0, "", {{{0x9, 0x5, 0x82, 0x2, 0x10, 0xf7}}, {{0x9, 0x5, 0x3, 0x2, 0x0, 0x0, 0x0, 0x3}}}}}}}]}}, 0x0) 08:06:38 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) unlink(&(0x7f0000000100)='./file0/file0\x00') write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000008a40)="e74a0f89e88c3aba2d1c776ab25b221b366ab0ac5db05ec87f720b51be2b46fe1aa4d1f50e8d278e8e9641885de16dd0ab77530a7a8c79b801a4c8c9567e29f0fa2752524cd11497506cf97d82f723a251df277d637259d2bb510d2b02d10e860a1edc040eee393f7888f1d66d3a473cb767afa655e1b44ccbec58fb5c93aace8c0b871aa42975bf03e7e187400662d6904e49dee4e2af4c6102ecc3f0337be6784bc4a2a31309934f6f5d25877efe0ed45a3aa006d101d91f9b2afc4f5e481a8421c4c734722ef89ca7f9b44bed7000782cfdb5a200c3a1e9a277a9655f28767a39f9e495dec1e1bb617037b6058df1ac7127ab3150232370a5f2dc482f007ff59665fcbc5eadb27cfc85ffaf1c6da0fc2bcd45e04c038a09526be1689e06771f18a2cdc8e66741fedc0648170210d1980db4781b1ac2968a88df1283eac5f941c56fb5c9fb9dfd9b97abf16d382f346b777f92d9a0342099617e1f6be516d856dcec566100be918c31b31bae1201408197c93352cfa7b68d8ff995bfaef9a1557a00f9c411e5b82818f96f53608cb486d134bcd8ac55cd0e9979c9427abe385dfd50b4096764a7d2b3fbb3bbebd826af4abb97bb0fa75214a5c2a684239686c0bda28d382dab3f293d85ba35edd9e2f22eadf3733944267001e596b8bd36e308dc58d64df4a54779febedaeece93767debfd371bb76a2b9961d007fcb4fa607f1d03ed4ec8a50ed7abe639784569d11787b4e145caceec20145d2ae15b9fd9790589dd2a3612247c6edceb22c7a790d10944acd16050ad6e3de7a4aae0b1c4fd0dbdb8bb70946abf2c95e7e1a6c46d46d98a483edb5e02b7a83dbe8f0608167e7a01671f135b613c11cb307b8e004d4306884907bfc83e0397827146f5101ce5528dd7c07a5d364dcf1857772d7ea518a9847a853ec9e75df1e14fee7c5087dcd923808ded43a63a0716fcc0661c1018847bb327633a1ff9e0dffe85c971e2458b4eca86f44e20db067b30e1cc5f4eed7064f76fec7a772b8239e24de0bc65ed7a48521ce8f9470e5289259c1a93c63251ba3cb9fd40074a66c2ae0d6ab50bc1428ea14a254aba9bf6875885fac3cebababe0abe4fa2c4aa02a83698c15fedf2dc4fe85474c26a9419c8a818515c170576ba2bdeedd7fcc6f318414a4a3d21c9cbeeda8a93420b0edf749ea937d15e3624b9ee08de930510b108de17e126ba03acd647a7ec8ddafe3ca8eddafda604424cc0e1b3229e64b3a8f334cf81062066e6d451306e00c61b0ae09a7457c7a9299acba8f28210e8bf2de29c413c27c06a885f4d76223b657e08e24e881db1bcfe5b6bfd21c10ddd08b82782e1d63f72ec05dadcb3e6f4c651acfb8e108609f37a0ebfa1992eabdbb0d59c3bdfdb6db5c8ee69280855a5a28f25f18c43da954337213621ff72b607e1881bcca05b53f1c48206c4a41ea513bb45197e9ae69064557dda4ab0f2785f5f5e9d0c7b1c81838c5d48f6376a8fcc0230bdde2471a3521ba0cfc222989b336c7aaf81664e3465f45d4d0820833451fa85ce0610dec0bb0dc7020a91f5bfdb6ddee67152a497507c391207b7aeed6bb1f6eb812380b33e42b78d1c1175d9aeef5c67894879d6200acb2aea17c5461bd2909315fb7611d72aaa92a5b1801b6f0402ae8a7a251bc5b7e652861886edcf155515c34306a96e9af5d19d29d425f30dbcc7715490343036ffc28b117c234aefd3e9a210e2248379754ee19c7b24f75ed41e418321a2ee4607e6801bf764f9aac82c13685d81865e4c68ee67d23c02937074e0099461711c5ba2c40f4218f00ff884db32bd6b6c753f352d27de3e9ef39a449f470cc9d5f0a347603ffe125365db8f7ed8db6a6ff3f054b7e3b1e1ba4e3b120abee0d791cd64f3ecab1be0a985f5a04c9bf91566b6af9a0705618a7eb7bd34dc71c6e982fe9c684d2fdcaf5ad1f4366c6b1573520b3a43d1575973976e5a2d8342836da61a919fe291d4e06dc8b8047fdaa591db96c5f708d7efc10d0febd2de603998daa218841c38f38c294f79a058c14b8451e970d45b64ab8cfd811e332ca469c1ad1a703c7889b6af2430b5a9a16efb95767cf6e176aeafe1d7f3e207b92316038a694dc77e4f9d423f023e6e92994bcacc8811afd8022cdf24268c646e4f8f1eec0ebd9adf11a338bb0b76bffdfdba5060cd8858c3861c2020a8367b65b272305871501ce9131ba58f4bee28542651ff43e4b044e08eebdac22901166e5a4690335d5c195d0d895470df40c756e553230fb20485f25e6122c131a1c240a8eeeadae8bd743e25aa7445c4d13bcfc2012a3fffd8e71840a73b0fb86e01b189ed98ffaf53317a3be72575c72b3851f5e6d58946ea53c27a2c074de878396bce0f0a8639e4cd188b0c41bc93ddf2e2bc21f4a6a2a5231612f7cefa0735eaf3fc599c018bfb788b0951173df46c9f57ac58a70364a78d4eed63659e80983ff21b441ba041a6e0f83cf5cbb46787f8032f35ee2d35fbf278ff6b0c4742b0c8e9b8b51081b3db97c75feffcf4793b50a774f9fdb8e1df5bc3b337964677d2e7148e31ea866090136940a9670ff492d88b48d7f5a9cebf32b865381303636930ac76c940454bca3060d8f3e4858b55147eccdbcdef80c64b8030498ce8e15420d1ea46c5406a55c89434765232bab57df4fd145a60191eea9b1d634968e0087083db8bd71be34739261753fba1eb47edda8df45c8bef040b152b1da174b1da36f731cd77a3ed39d6ffdd5bd68d4288c4d464e476c136d3ebd379168bf87ac8ba63a8a6a3f2430af352f2c252a0ef3ea2560870aba83ccecdd0e57ce9859821f0e1da1afec294048a1e22cdd02d5685181998ad20b26539aeb8e8fe02da9f3965583cc8109146ba182b6c8c945bc0e3098a353d07f9f28737fc73ecec7d12ac68f51135a617291d57e57a625bc7fc2174560f24a7667d4106c11922815af1fc4bfca24b625ff6953d8255a7771542d2fccaf74195c957faa3328cb7180b12efc3640eeac8dbac1aa55d236904975ea0521d8b3aa792c8c3194eb15497fb68351b2f662e6dcbb03607feb7c2f29456085d96d4dbcfbbcb2828c812f21624a301b648201d27b9e80862189e7f8e81b479301b4a55dc2aa7732b3460001d072f04c96dc34fbe5f7eaa12107dee5c4fcab6977d65d3e5a3cb2b2334fa2ed10a0ff0f02b43a16f5bfb6d4909b70af2b1b1d072e5c8b0a344ade8c7044a2a1ab9a58ff0e629a2345a9633513ac429ba96b8911c227a306fb23769d02b233b869c91abd605e4d13e92f56b13414e8b29e1e9b203154db9380bbfb66c4548df00dc5f3b13909b2bc4e90d5e3a42b6e4d6e8e1eaff7b319179975ae90e3ded62efbac60abbb57f07c348a4eec2032289ac91476297385e0ba3a9bb08de5894baaf7c6a46b4e04e75c10722dc2c5af819638b8d41c163065cd73b8be3ef6c36cbc556fe87b4d35f14211a86fb8800bcf677a17ab8808224ed0ca780338893612a686fd6d44a1b621096477f6f0760abb232d7bdacf9c7811eb0d87d69452f74c7563c583a3972083cefc8ea05513b87f6d0bc52fcca7d1fa02d5f5f06837526597ea38be7c7a4b33f53917e84e7a46021b85d416a6455cba0646a2e8106ca515022355e72f5c5c81d23b2bc2abcc3ed75db75da3301df758f797a61c33bf8bd3711c202da94de304b7ccd1049d58e13190d56627755ab3ebcdd2922bc162240b9be762247423b434122bf5173147ac981beaf9dcf95f0f28601b5d0dcea36ef0f06be3eaf57a86e0523cdc712ed58bbf081ab9ddf9cc404f6dc3e48299d457c79735587d83d64af69bbcdd1c9654514aee10728fb51ac14f5de78152a2e15b7d40189903e1c8f6decc9b9c22590acfc66c2c61028f2d55609a25e0a99beb9b542ad9b0cd8dc60f5eeea600e8567fdf1675bad45b6d10d4ed8f8bbf012ce632d9d1b73be0944eb9b475a1567c21e22f5b5db331cbc0312fa9069fa04aab947a57d28e7620ad728a589ffe214409284b9ae9fecebf5ef5a99aec1efdde05eb7f2bf80ea66cb5f4580e5eb75e8aaccf203b0e8c29275c05c8ed39029b5d74e20b92dd2b2e6525e7e4e7216735d74f7db4cfb4f76083f69bd6cb2f45a29229e38b54f1e4f5a73d579c23119f720e31d39c119f0f07141c4a461a710e28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f0000005f00)="4ed88ef6f971ddebcb2d85970fced30d60ce37ce03b1b6dcab31d6e4d9e84ed7d6e43289be9c65a37254edbb46b85cddc96d26184d0914a27ffe4ba441c6b79b251c420b2b2c2f63624d180e869052798b480701f55e29c556f304fbe567bf5813f71a685841d0f345fc1dc835982d44a5149029727d5f32e2659dfd905af3855f37fe552cd1a690335b5b7e21b8a43b463a43a55bc764d18eed175b218dcd94eec96d753c350f372ed4a1b4fb1227d161b3644b42854d78a7850c8e4e229643842663292f9dfbf74b0c408335a097b8ac3bd59244c58e3af3a354336cd3eb9fba00bb03a35227baf92d7ee1988de903f6471c27d952e38911cfbeeaf4bbf74cec8837b33e4f91d3704801480fe8df11f5f775de272b15ae680be807404f2cad30409df39167a7fc7887567f6fc8803ebe6a41e367743b3e27184f72ec6b94ff6b650fc4b0f5b98a5f364f929a25a09e73c8faea7dcb8d1b36bf2e30376742d90c1a6883494548a48361dfbd9b84d00d719516c4a4089dd64c57db3cacc575e9326c8032c4777eacb231626a54fa5649e54ddd232720a13166fbd1bf8d13851f8d573e77deb8d7fd2749daf95d80c94930001af6abe9346025d86c47d2ba16197c28f5b6e3d34341d4319813e15fbc05580aaeec3289962b294ba42c4064d36519af2ede4bd25efd6c91063ee748bd6da074fee1021ca19568fc4770053ca3e38b5117d12b42410f41a10d1860fafb1df37dac10dec1bc20aedfadbe72cb8477ed2803e43a6207329c38e266263ae3492f9beb3a649ac6bec1bd1c46d8079fc4111d3d8bd6ccd0b08caa7fe9dff180319d7a23abf41a9f119e101ab54f4408ee7602bef45c5ab65948bc573dfe0a75a3a843e86b35ff22f3d65945b8a5e95ca6f1a41ed56109ab102b3a1322f508a33e575984ce3bd91afdabfdd5a4310b957b66275809505683037f7e095850df8c1067955933d6087e2ef12c44bf601cd9dd414a6972377bdd7a5c43a0a2e0ffffbc2d0d516833420625a7722f286dd5e51b3c5760dabed81aca8684cac5e4e4a0199f5d5489a6afa3eceb84ec27ccb5dcab370ee93b161153d06909b043832d0d0596f09c595678bae9954d2f5b3bf63e804356a7dcaed9b9072cef63e25f0a8430b3c2ba48a9c89dfbd6f16c4f3912da9e4aeb9f8e8c8c54c0eb409eb5d3c10b960c2d4516deba55e1804a9573a4d73d6dbad52e62fa85ed0f5aa0592a9d2e55fee5ece0e61f71091e6431c3988d2ab8a5e446377ad3dcfb9a7b2cd9b58026281a10338786499c47d3287aac008d8a080fa3671d35c3f4637934fb9070cad1a909446012d6d4de71bac2adae40bf93b9992acf18a2791ead018fd0e9e043312a4b72570e0d7ad5512ad237804c6855e93128ae3f16dfb2efb8560adc8323c31eca68197b87fb5f0a81c5584457d86a032d71ddd433427dadcb36c57d49a896fe0cac510494244b7279a8d65082fe9946892d8ca67f2d9aba8e1a2d6110bbf7fb978af143d9664405e353d01ba347326f9edfe1a1061a07c5098cdd305497f7807b1249cca1aa2d22bcbc33b1a4f177a496e823fe70581fca97828e63f56d9ff431ea66e60d24b6a69cee085ecbf521a64327e9d11b4826a4a6564797ead27174e841cf809b149a9abd589773b1bd20ea39374ebe5e521a4dd47ea7638cf20dbca689c712124f630602894eb0e0b4d2bf200b03546f308b37b97619ebac4b353661dd133b4da29b12835bd5888fcaa0d81bef902d6f1726e67c64e55a75550b94418aad7c7bf0f9b09ab52cae0d8eb93f84f2c123cbdd7e628900cfb19437657a6bc3cb11ab3cc0ab9ef77b84de6681733f5615c33b1002c6cebc49793182fd5574967ff4dac233bf62014a56cfe5a11238eeeacb01b1810e8c681d960087e74c0ffb346b47b5bef4b18d7804fc0973a2b789fb84e3b3fdfe8bc66c7634d2ff7c3a87847d55e813085fe5b1e99eecac1f3788914394e7ddbed28b51ebbed57a525905e1317ae3e6217a97c397d0fcac0fbfd3e15d0c28695a86fdf74d4673c8b7f7667c649c19a8fbcd1f131a0863307a767cb82a0d983d7261a2e2784e0e0ad1a50dece973e03aa99cea39b279d704da1aa7148e0e2a9d368db0358b08b6f2bae94f7716770c5ffa0ef710e6e7005e1a38a8a8e2406f5372e496469c78df38c283e40597f8aa4f392537af107127f1ffa53adb6d8acae9c13b6ee15bc80f90cce59765233e11612c98053c95e1866b2f7d23d696d38cb2ec166cddcd7992046c7b526971c661bc02d4e5ac756f6a8b15beecd067adc562892a760bc2ad9207804f088d90a92e2577a66216ef75cd1888aac72d04aaefa3a2238d46c2a595e843aa28cb6ba9d9ecc012a3a7f433f04518313ba7e74c82a9efae57c7172ec77c2721089f83083a4a2616b9af9c3fbd175f9f1a65edbdbce33f7d5b820988a8586165dd62c64ec43ed9616a00ae6e70b54df88fde07329a84e100e3822384ea4bec1ce927b0a2a8c45b8f2523e64829a12cf2370dd66991593478b65a9cd9f5bc04a4ffbbbb31a37656fc324726514b9f59cd873874c883e108af3f235c5ba65d53dcb976290f25dc6d1d11f6712568e7acbc76c4d43b64f7de917e60b2ebed1aacba2a9f5186cd3c4ca2421aeb5c32d2885f3d75354f45c34502a39641add4e5f6d889fe7ba36d710180a6fbe9282f0547d664ccc9a0acf5f433efdb477172238d1f2abb08c6deaf05a36de315a846a8203295f4cc1d2ae879282f39a77c1a3c541466a6ef9d0a775a7d265cc420a26a33b11d8d82370638d6ec8330e36e3e3a52e62397bad6d1c543242f4521f534c78fe9f720f7ad2b821165b355be83e8c20f53dac159ea18bcff78c37b522031fa0bbffe4734d80c034a5986726a5a10e098936f9baaef118c26538cd16300097033815d2ac8536f16d8f8dfaa95355b1d4466ba70ab55032c7df3e9f19c33608178fbf0478453ad5c6a1d529cff271823d0fc338d3be19b5f06d5a26447b249085255620ddfc1da3f21e3e8df92ca94f5566c64d56ddf9e7ee97db2b407689ed38a31b4f688458d2fad6f6101c4f9b9fcebde3b880ada02d98dfa6f85bccedda2a1b0f6c08e9578cac571813b5da8acb324739b07bb2dd92dbd5fd5a5a8110730fa41e4ce53b40094a2d189e90a562722ba3c3eae37b15d7ddf380373a6b187c7e419142742a97973e9d06bf1eab7dd7772b8b462c9d19aec94b40ca888afc900f44afac20ddc94086a5740daa91a9d591c135e814f6e23321a040823b12771707fb3f85d5967d3510a82d6965a0b586ad510e323788c92487842f98d1806eaa816d445c1a245dae42d61760d76877f4c9d6123a0ea2d1709eb8f4139e428c9441607090af6cc3acfd7bc303f3e3d6f4ead52101e3e8337303c532a0e30de69edc3dda4d99df1c1a72e28a00e10aec6f1af44a7dd06ae22fa4cbe66d2272ce066b862a210c36fd2e16a0b5a2270aae88a5ccb5047475cd2c56c088c6c97907a341261e8d15601f11f3061f516527df6fe08843f6071c026021448cc7212395c6ef91f08084fe3a651b0ce144be419d415e60ed41dee21587e1657b4809a315ffea907ad817ff4b91314c4eeb424a3ec1d155af0e9601853ee8691b404fa4c85d00a39a1e1b855a7fa1e9d35eb91f062c457a34bb3332a2d167539c7f78b8ed2e854cc30dbd0a40fa3ae2b97b71101c8fafbf0959eacbb02da5df1dcc82da7818a0b9ca85779f63162627202ab93f50962d886a3b4f908596123648e933f47ada2cf0a7cd971ad9a0f281bfebf438cfbae547d4d502fa11d3e9a17193c42702f3eeca08b2c30b40a8c189f5b65fa4050b162ecefddf15eced8b60c70a2d4bab23bdfbfd83008219bf3a954e81f372b86d0a1773656b0f480da9ce215fd7ff051812fbc7bc8a6ffefd371764a906bcc35484d35a713e251bc344b2054d019c2bb75c5ddcf63b267eb1ef09792122946e48371450e69af59217772ea6997c62cd3e75ef928439e61acf5c00f7abe5b226e3f0c49e8d89315d386332111db9d19b746dd6bca8e5dac9e16e7e12bb2af690645a0092ffaac6b90a457bad32067da02bd45f6b3a37b40c36c319dcb86e3cb019d9e6a1df8c69d294b676a95b4d305658815d0e3fd1ccd5963e3f9fae89e98b283b2b32ef56603f6125221a817c52e341182993ef09609854ba010258fc4c1bccd9f0f41755a48bdf61c59d93f8ec38466b96cf6e6aa2b2ea695e74baedf44085f8ef0dd17b34052d747d36318fda11949ae4651d447719bae033cf025ac45e201c5d6998176c8fa3c91d74972bd4c32eeaaef456b82b533263fa542c47a024c1841152416bf842d58277c0429a3a47bf6e55a17646aa17851d86800bb14bc2adc6b9e599a04c463c13e8c828cf8b891685e155137bb39668355476df5f4712e9e55b288b9afb62bb46d9c62c5e40f68b04c4e8aafef667ea569466ef8c353f8171835df14bbce2f4afde6a2c6d2699b0cd7404cd54e6d9747e99d5627a435c9bc2b6183162849e4cf9dabf186777180064fe38eff9975a7a43de9d9ba188e2830021838ebab98e3e23c7dd95337454cc8694867bb6c8baa20681e056c3598255ded5c21f0ee048d510a247a8bf58de6d76a0aca4fc54d507bf34593a6a4f84f6dc6fb97807565b036c61c793295db83cea15102ca36815512dced3d43b20efe95da99cd37ca518de933b047177e2d3e2bd71a452d385b78d6ac0f9b3b5529741c6e1bb1c859ea7b1533ed667fac663e5a98e666009af497d537881ded582d00de9d06283489786db1a4a91886b8b0e7f47b24163b219ad41c4c00af8b0bc992daf65ab73a0810ddf18fd3dd3425963a571040797d7668c4ef5978a4fee941a8a855bf18dfeb21f3ca69fa78f3415b7ca628f6efe0c3c660cbb0c85da0ef7eb6200f7fde3a6a2a1aff5f110941941a4b6d26b6bbb32b6f0515800804bd1e38e3eb3386402d5895d6128afed2d8719b203b2dd05a3dbd4767704a050c1823a810998b98003053bc60a29d9b5c59d5d90ad20705ec2d8afbb05147ebac3df452a923dee2c65c12f377716cb52dcb073775b702d17f7863f8f723d07e5e275c878ccc1cb532f96e8a33bfa9102898dc6f722263bfeff93af5997f52241313c58e6704303268dcc8943129ac80fadb3a8b1baacee271aae9bc9ead57e76e938904c8290aa03bd6c04ef2fb985029522f87c078340dbf22db8162b55a908ff2f15072a6f56adb7e42da29027cdb059cb67ba907bea7f7d41952a44812d6f06d6570f9d159b1b09e97ee7bce68128d42af582e026f9a2ecda0e9d08345ce0acc948d3263a305ca77825bb903fb23ced626b944ba2b7f5c8e9af0ddc0afe126760e3b584c9cb1e68287a116051b3c8b8489a3ae607d199799a6fa619e8c775575e7fe090cea3ff097c66eddedcf213ee483401a126c459e33e8bc13e090712162632d94621424c16e7cf04902474b0a54b4425ff6d6e604f747bf0626043db6cd912cdd391efa3f655eea2b5f9bcb57a8ee495d095532fc9e5e1ea60d16e9c4ade93821f6449b1a3bfb77a6d25d9ffeecc0c72f9f4350cd733138259f0a348c7f7ca4a42e93e6d5180d579696a3c1103b5830aa0b8c5c6a7672d9af608b9ac95ecab659460de6dc814c870449f22a5da81d4c6475f56fecd1396b0ac7ce189e990b4232255d26d436de7edb5f5722033063cfe443a41d8340df464b137ba021b818cf629a7a435f48b08ebb46ba28d468d28ae280438b92a948e76dc7cd79dd7b0240c4bedf5b5402c4c1f9c0b095b8ea90336b2fc2a5f21c07cc835ef5d3df5c1c662b4d99ad72f6c8becf9edf624993fd8468c2326e627eb5e461940754642dfcc5dcea8fd61658b4a862a3c261968ca69bfee43e0a28ca600f3c734b48094bfa976d3bec1c8f0e92d58f12c243b5cbe45eef24c7c4137d33f39a7751bcc65b744d934c55754a3cfe64f7cfaf32cc68eeeec707ed83df0f0da6d6e8bab6d4d5c9c034da3ef439330aa3035be1867504e9e66127297f91c63eea345b3060bee7ace6756e153145ad202b67a318f86bce20cbbb67321d48b0b7403336f0e615f480d675daad809bc61a0849c7ee803dd733c1d720417117789a54d7cd1daa963ad8cc5b3b32f4292998c3b6d6da5abc8dd4314233580d28f4eb94453f8eba624d77c2970f358d1c7477c1cf7f81c3a90516612156cdf63c0de6a57e7e7f05d958ce56d1047318f1e920cce97dd193d8edd0ab2559032770bd521546ee1a17d77e8ab0a8e8242ea2ef383efc0b94892c8d8b15aad9818a4f77cba6b62084e4a618f879c004488832906d7df5e1c25b117b9dd3446a325a6d91fb048bfc0c66005e95cb27e6022de93efa390672b4115ec31e27ca8a0d3a939751b1b11a44a5335f3c0bdda6c343ba8c3de4bd92fb2f4d7eaedc86b9bfe2a577e545cb72d7a477e772c4f94e4d083655074ed6d6f700216e252be2023618f60ea0c969d462b8de088e8c08e5071ef363009e9dc9f87b53b4873c4151ab1fc56295a38b84ee78f3c7d00656a0592d440773c6f49c6191eac61c5c053c2db9cefbbbc3d44a20a27bc2d579fc9b9a2d3eec9ca2ec39a7546dace2b0d7159005c23ad18d93b6f7ae0fdb2e956904b55729357e4cd6f684d20267b2f6df6b8e174baabbbc9cf1de73e649f3b7634486f38118369a449582ce78a49d613bf372aa07e874ce12fd3526880e407abdd34149b221395da84d5ea2f2a6fa93b066f02bf7494d37ac51babe5c595b8b62b7a79d49256ce1c4745ef97118bd2c2fa46ad7c0ee80d85c0e4fc18ac1cb4228db2e091fa3dcdd147ba5a40d66d63acce7d22d1744fcde36918cccd6eb2e5a0520f76f4b01b2a3254b5ad7bcc8eef0b4316498e4314e34face29b662ff9afcab5682f0cce68efc47a37c5a4613928b6e88bda2ddfb47a6fde48277866b9d9236b3bcc880e804048ac2cb5d7aaf84ad9a3e0db1a6d941736f0ae43d8f46783dec0909ba2f5bfe87636d10b33be30c70c8c212de4c15c9c38b65b1e71f792a490515f8ab8cc26b8a3b1db58879fdab140e313ac30168beb519c49b5c2647fa6f66ae0c649427b45d4ce3910e1459b965d4c1fbb2060437804bc26535217c56a27cd495931a2f874a4241dbe74be86e0665e341f71514cb22014858041269917e30772d9c672e6c76ba1e69603d289410ad5a359c9a1aa867da21e2a502a232fe20ce14bb6b127d0250eaa2eb90f412f9e4135b8a079db264bd6af08e36f8d3cc9678751e2522150bc7f5fd773511dc20b66a392768b12b5a6e1e48f341b9d88cd9bb90f3f8e54a1d7df5e5a3e5ac967f956ccbb3d720b26ed8ed7aaa65093b8c92a15c0015a678df3d678637f11682b98f9728cf1dc4ff890b52e6047a0be9631022ef56e5bfdcbd5fedf79cad3cd52f8532cfc6a747853fd55cc0314a4f76a7b0a85e79af9d0aabeec019080808f7d184f6b4ce9e65b548144392a0e942ee236a891824e785510d76d095679cd373360d0aebe03dd6ec243c21b4c1303ea0d14aecd7c20f4baf10b88416d1a8b0cacc72a3223584dcfd7e73f045f26e7da252e3efa4e7bed47850b438c4d44bfc36e26411fa0b05b8492a530ba9ff44ec8075b08cb1a4b0747f77d81b6462a6f4250370004f360da5fa711916b78738015404fbe57458cb448f40d513c3555a18f3a573ace8a837f4c380ae09c1bb8f14069c9f8ddc17b58ac3d8b933c4367254faf0bef639403163db73ad671ee9378c132e101288f5b5acc0462d88ac2c180d9658eccec5cd522c66d9a2e1647e074acf0ce242fb4fafab4b1002a0b93be0cffc10e5be5a0452f01079b6d3fea84e8046e4db8db1e32a9ced18b625f6cd83f6b3b7e67c67653ab148dc7327b7b5e1c61c784c06b577a2a8602841f2aa2dbedb53af0284afd82bce01c9d453e13c18a21f307a7e07b65c393a496205fe594b28e37613dea1aaecf655c4131a6de551a29fb2b7f9a4143b8d038c6b2ef3f4e8b3f2e558f283c6b97b9781bf312076cb3873567b9e9db764791bb5908377f4b0cd11015f31810e7374ac6962b7b8c5f88c171374876854bab5f6146b51f552b0a10debb0fa17e3b568ee8142aac2fb2f4620906934155e63476fa269aade53fb13adc9994939f0a7e0062f65757ceee5f09970137dc1bdb29c4ae3ce8885492a9eca6579aef6d36f611924fd7d4b1f441c5b8eb141be70abcbcf4de13d0bf0bed13ad57b045dcea72925f96b9c2970d96d59c4dad5d24c24166fa8c96ac465f1b7f6a2ab1bcc5cbf28e836840223f57c3583045761fe5e763579f089ed5ce9441074a3272f4da61b11814e8cf4a5e89c3a4c4d002c0389303d03cb94a8810ab8c4d8adbca2d9e2ea28b13fad20f0243388853cd130b59212688b4f06d602c8279604e5fa9dd3229362f78fa5d575e672521ff5f003183fe3ebc561a2268c04c22e6f7b246e936d0c03df4a1f14513a3e3117be78619fc85734dfc69da60c69f0554a9191b96a22035db989b9203216544f18a8ae0da105353621dc4228cbd606d9950d1dfc25f9b1761df9ec9044145e313a69f255c6ac5d333ad258c2b4bd743e0d1a84ea82f0d3863e7cb4ff26427cd1004ae703f9127b686f538117c9427e70c546929fa324798aef128a2ee8cbb0c1c3d9e5a76b7b080a39ead73e3d04c4784568c2b265514f86ae30c38896ab6a8af44f31d8127742092a377382c229df4ff232c967913d3a791977f34b5d62d1d53d24b3721a7c8b4b50f331584eae00873888c18008e061133160a2e7121b6b46c77f640253305bcdac5994a42fc00f55c933d392ae043638afd87b100cdea662e02675c982cffb108f4b79120939ed311670b0fb275843eeb59ff7be1dd8a164acc52f2e70cf9b1f134a0c3115e2e4655177da2f1c157ae1a08394fbeec4621dec09958550e0aea88a884ae2e2f5b66b1dea640a397b144bb57c7c1abee30495cf774e9949e5384329a72793532156299a999321f4a0f38197d4c9fe05af3218e0d9c3545d56c1c36ebe9a0f7812697a263c88dc7bdadd222f3667225d82212007f7a98122101c1fd4906dce78547ca4606f548ea7baa0680396d39df39b973914cc089cb4b654a921e3e1b7b14f1ac878e9407fcfd9a57382d4f5554dcbe3838b8fe9c0df7f15db03bb4efed1572be0eaeeafb1a86f41dc1b384e398dccfb5ba2c960d71bde423a044381fc1ac5a37f0f9dc94fab6df7ac4f3d6b69363cc2736ee8a0658e39c1cf3ebc75fa86446ea649a6620350043193aeb92081178735045a417af26f0000404242aa21ffb0f2d299117728f25de48ef2aa9d9c1c2126ce29954b03d291aff41253228984ae394e276030b8bc4c43f2cce3c859aaa7716ed249a6352729d7145edafc94d40c88c825fdd6e84e0eccdebc5b4ede24d644a4e419924e88d90e17f588f91be0d2c12e3a8be22b72f6975b9c89909311f5267def47734da1222310bb84ad9ddf720b5c7fa66cabc12d4143bbac12c9836110dea15d91abfbd8e4de5e59123359114329eb4d424f112f05c40bc744e4a93ce21f301cc7c128ea786c148fbb10636c1ced8d6c31f21556575cb1f88fde5fec9ae1a4c210e3cc36b948a08195b91736c3fafb3068a945ef4cf330e0a38815f28b3526ada9b533acd1dded425d4f4226dcfe372ed428f7a538af19bd52b600a612d3f80fdafaf8ee6d74d96bbda6d609523c3ed990735b168065930a113f612512e514578fa087586c563cd814de3b8e0cc2e6ac78c34aa20a7898f3d6ea58372a75d2ba8327c9fcb75767073d31d3db42618e4823cbc99c24c49372a2b7ffe56790a588252b10aa39c003c31de3b5681fc116836967ee94a4bbe48482b34c128aec3642fbca0182f1af0156bb8adceddc371a2a390c86d8fa1315c57c70b57a324b2095cf65602e4eda547895bc3926e1428f84ab6e7cc9537b02e82dafabfaa530ba9609e6a96900793f92b0412e79b413cbe441e0bc71aa3b1c96d6e384fbba4e8ae5f048285aca50ae7edf75df40d27524d55f51247589ed163b7ceb1c3d827fc89806f0063adf3df39ab96d7ba4252271c15f8568f09abdb244d4f4e2987cc024de3f1eac1ce6be2109049884cfcc5c8c765ae0a4b9ec1a0f5c592b6670926704609fe8c34be24cba4214d69b4b09c3864ae37685ad8aa90204a45952f9a96bf7da4bf65c79903717b6fb266538338ef1d641e178539c06a3cc1dc78a26d6f10abdb99090c6a80295e11957c0d4dbb0ea0c2b49d9ce60ae0b5035e0602091c051ad78c1e694f0ef9b0ee15c4277a96cd602c0415bf889ea64e40ca7b260a3d08a02d14c90a0d90f00b0850d22b75725d72741ca14eaadbc25525b33a23f5756715c8f3cb8a15008942fc930f5c825a59ccd3501772e1ed617f36388b1c2600292eb97873c9de19d7dd24ce058382a10ecfa8a1b465e969035837919591685c9e481a42bbc21383b3e47fdec2ba69378f08d87840ef90f169ec5911a8b0f05f209352b8d8c7697d95d6dac9c52426fca95d889978efcfbfb0a0df9147cae1e01d36045db64f3226415bfab7a63a436e745874da70dddde244129f65c4c781e47e68076c83ae4aad9deb8aa585597e9bd9e838004329b3e41f56bcc728eea49ae6a6d34f4469026c7b6488109bca2821f087478415e0b5884613ec6e041aa074ff5fc2ed1eb95b98dae81c7c10fd121ba53f36ac0e0355bbe948364d220aca48d67d2f1434d059aae12e1dc38207e767280aa691515b3b466ce119f7fab2713453a6b329630c608724eadaf9caf9205ef873d5a14518f19e485aa82f7dafd68e5a6f5e0338546d7d623e6c4a7930e2a51ae2662619d665c55d1152b81e8e5f41e5ee0d6afded949be947e3a715a5d852ac7688650031563ad15da58c8d9d4c237629cc88fd16e39ef95c47a75b8a2d090c332e6adcbfeb0d4a8e9b38e12e0655bc585a6f9c3f39bff2d46c27a2c18d4aabe40601b8226ffb93538e410c9e8feed1d3e6c444f14e7f8830a4268bd98aed0f94ee3b9a2d13928cc5aa2d303650e79fa536bd5baef42703a5c652c197539f92536dea625889b5c59cb4852e8e6c32c780d84fa868937f0a0adda24a7fb5d8f9a921cca12adb4a6ff47c13d59b13fc81ff86c50aa06a25075af6de2f65493ea48fbad8e8eb9b16d575a5461fc53628ff2588aebb42a9f1a950bb7a4af31233f0ce7c0f41e3203fc287f1967e6eb659bae3d631a02ed6ff1849a45204a0d8a91eb93e24eddfdaf61b1f706eb33bb6017165ff0c3eee4b2e18061bab00004e4af31edb70fed67ff6f720eddd48b3e6bb511685da2ce0439ef1ca6d6df34a65856e84d09b5f3d3093ac5bf604d89310bdedfeaceec9219ff5c27e1d4365338b294c6a6d5fa404b10f1067d1fbe17dc9981303e2948acc4354fe778d40578394d540147fa78b29914849a30b9b1a438bd1f7a9cfe188acf617a1504249eead1a361aff911b696c4cb2d5c6d20690ff0a9c8fdce87625b38756bee80517ddfdbd1473d983acb5b03", 0x2000, 0x0) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:38 executing program 1: socket(0xa, 0x1, 0x2) 08:06:38 executing program 4: syz_open_procfs(0xffffffffffffffff, &(0x7f0000002880)='mounts\x00') 08:06:38 executing program 3: r0 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, 0x0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r0) 08:06:38 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_MAC_ACL(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000080)={0x28, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc}}}}, 0x28}}, 0x0) 08:06:38 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) recvfrom(r0, 0x0, 0x0, 0x40002021, 0x0, 0x0) 08:06:38 executing program 3: r0 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, 0x0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r0) 08:06:38 executing program 4: keyctl$setperm(0x6, 0x0, 0x0) 08:06:38 executing program 2: r0 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f00000002c0), 0x1c) write$binfmt_script(r0, &(0x7f0000000140)={'#! ', './file0'}, 0xfdef) 08:06:38 executing program 3: r0 = add_key$keyring(0x0, &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) 08:06:38 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)={0x58, 0x2, 0x6, 0x401, 0x6c, 0x87400, {}, [@IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_TYPENAME={0x11, 0x3, 'hash:ip,port\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x1, 0x0, 0x37}]}]}, 0x58}, 0x1, 0x40afc}, 0x0) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)=ANY=[@ANYBLOB="58000000020601046c0000000074080000000000050005000a000500040000cf87cc4c0a03025b060000000900020073797a320000000011000300686173684369702c706f7274000000000c0007"], 0x58}, 0x1, 0x40afc}, 0x0) close_range(r0, r1, 0x2) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r2, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f00000001c0)=ANY=[@ANYBLOB="50000000020603046c00000000740800000000000d000300686173683a6d61630000000005000100e6006d790500040000000000090002000d00740000000000000000000000000012d84a3c965de332acb2b18cce3ac7dc1c4bff2cd6ef6f80c9c4e5c90e0e9c19460e990000000000000000"], 0x50}, 0x1, 0x40afc}, 0x0) ioctl$sock_SIOCSIFVLAN_ADD_VLAN_CMD(r2, 0x8983, &(0x7f0000000080)={0x0, 'netdevsim0\x00', {}, 0x2}) [ 305.864140][ T7264] netlink: 56 bytes leftover after parsing attributes in process `syz-executor.1'. [ 305.888678][ T7264] netlink: 16 bytes leftover after parsing attributes in process `syz-executor.1'. [ 305.999844][ T3744] usb 1-1: new high-speed USB device number 12 using dummy_hcd [ 306.247995][ T3744] usb 1-1: Using ep0 maxpacket: 8 [ 306.368045][ T3744] usb 1-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 306.384835][ T3744] usb 1-1: config 1 interface 1 altsetting 1 bulk endpoint 0x82 has invalid maxpacket 16 [ 306.406191][ T3744] usb 1-1: config 1 interface 1 altsetting 1 endpoint 0x3 has invalid wMaxPacketSize 0 [ 306.426072][ T3744] usb 1-1: config 1 interface 1 altsetting 1 bulk endpoint 0x3 has invalid maxpacket 0 [ 306.597978][ T3744] usb 1-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 306.617771][ T3744] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 306.625880][ T3744] usb 1-1: Product: syz [ 306.637729][ T3744] usb 1-1: Manufacturer: syz [ 306.642355][ T3744] usb 1-1: SerialNumber: syz [ 306.947717][ T3744] cdc_ncm 1-1:1.0: bind() failure [ 306.967827][ T3744] cdc_ncm 1-1:1.1: CDC Union missing and no IAD found [ 306.974623][ T3744] cdc_ncm 1-1:1.1: bind() failure [ 306.989485][ T3744] usb 1-1: USB disconnect, device number 12 08:06:39 executing program 0: r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000001000), 0x0, 0x0) ioctl$BLKROGET(r0, 0x127c, &(0x7f0000000040)) 08:06:39 executing program 4: r0 = syz_io_uring_setup(0x506f, &(0x7f0000000000), &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000080), &(0x7f00000000c0)) ioctl$RNDADDTOENTCNT(r0, 0x5450, 0x0) 08:06:39 executing program 1: syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4045ff, 0x15, &(0x7f0000000bc0)=[{&(0x7f0000010000)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f600000001", 0x45}, {&(0x7f00000001c0)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000001000000000000020000000000000002000000000000000110102", 0x18b, 0x4000}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x41e0}, {&(0x7f00000102e0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000104c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000000004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000080)="000000000000000000a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29", 0x47, 0x49e0}, {&(0x7f0000010660)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1e5, 0x4be0}, {&(0x7f0000000240)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a000000000000110146", 0x1d3, 0x4fe0}, {&(0x7f00000005c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a00000005000000001044000000005000000000000000000000000000000000048000000000000000010000000000000001000000000000000100000000000002400490033003000110145", 0x1eb, 0x53e1}, {&(0x7f0000010ca0)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147", 0x163, 0x57e0}, {&(0x7f0000000dc0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec40100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000300520000001800f2ced5b9c9b0d68336340100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000080000000000000240042006100640002ff01c6b04ba3d04be4ee1a12bcd15828fe8fccdc493f2c103fe637ede4", 0x1af, 0x5fe0}, {&(0x7f0000011200)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x315, 0x63e0}, {&(0x7f0000011520)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67e0}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc380}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x44ffd}, {&(0x7f000001b200)="10", 0x1, 0x46080}, {&(0x7f0000000940)="f7ffffffffff6c8550207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e265497563b268a3beb1f964000000000000001b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514889eff0412f806e2a9fa66391d84ce75763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756375d9c0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d128bcfd611129f1e8367f5501bebcd3dcefae7d74901a2cd18a72c763cf6105a545cb48efc3489da6ac0b5f063baca45c2e59e51ea56ffa8e25ac52c41c01881d3e1fd9cbbe73c57ccf7d6a182802a9579771b29033cd0095aa3cbb288c382f455cd380af76f1ce3e001dd83d2629131fa61297d9350cb608cbbff7fd27eb5af0a07a4e6b841a0d5fea392ab9866857a0faf1366cf91bc239fc5decde975474b344babace77648073372eb34ac1512b5b30bf03bb8b17f079c9edd7e09e56b94afe4f7f83cd1618eccd211959cd3cf2d408e43435cce66e68a482a40b02f1283dd8a186fe9344949a98d34ecc7e97c4201140b71a7cff642", 0x244, 0x47000}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x48000}, {&(0x7f000003c0c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3fe5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebdf0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x4045e0}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) 08:06:39 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) unlink(&(0x7f0000000100)='./file0/file0\x00') write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000008a40)="e74a0f89e88c3aba2d1c776ab25b221b366ab0ac5db05ec87f720b51be2b46fe1aa4d1f50e8d278e8e9641885de16dd0ab77530a7a8c79b801a4c8c9567e29f0fa2752524cd11497506cf97d82f723a251df277d637259d2bb510d2b02d10e860a1edc040eee393f7888f1d66d3a473cb767afa655e1b44ccbec58fb5c93aace8c0b871aa42975bf03e7e187400662d6904e49dee4e2af4c6102ecc3f0337be6784bc4a2a31309934f6f5d25877efe0ed45a3aa006d101d91f9b2afc4f5e481a8421c4c734722ef89ca7f9b44bed7000782cfdb5a200c3a1e9a277a9655f28767a39f9e495dec1e1bb617037b6058df1ac7127ab3150232370a5f2dc482f007ff59665fcbc5eadb27cfc85ffaf1c6da0fc2bcd45e04c038a09526be1689e06771f18a2cdc8e66741fedc0648170210d1980db4781b1ac2968a88df1283eac5f941c56fb5c9fb9dfd9b97abf16d382f346b777f92d9a0342099617e1f6be516d856dcec566100be918c31b31bae1201408197c93352cfa7b68d8ff995bfaef9a1557a00f9c411e5b82818f96f53608cb486d134bcd8ac55cd0e9979c9427abe385dfd50b4096764a7d2b3fbb3bbebd826af4abb97bb0fa75214a5c2a684239686c0bda28d382dab3f293d85ba35edd9e2f22eadf3733944267001e596b8bd36e308dc58d64df4a54779febedaeece93767debfd371bb76a2b9961d007fcb4fa607f1d03ed4ec8a50ed7abe639784569d11787b4e145caceec20145d2ae15b9fd9790589dd2a3612247c6edceb22c7a790d10944acd16050ad6e3de7a4aae0b1c4fd0dbdb8bb70946abf2c95e7e1a6c46d46d98a483edb5e02b7a83dbe8f0608167e7a01671f135b613c11cb307b8e004d4306884907bfc83e0397827146f5101ce5528dd7c07a5d364dcf1857772d7ea518a9847a853ec9e75df1e14fee7c5087dcd923808ded43a63a0716fcc0661c1018847bb327633a1ff9e0dffe85c971e2458b4eca86f44e20db067b30e1cc5f4eed7064f76fec7a772b8239e24de0bc65ed7a48521ce8f9470e5289259c1a93c63251ba3cb9fd40074a66c2ae0d6ab50bc1428ea14a254aba9bf6875885fac3cebababe0abe4fa2c4aa02a83698c15fedf2dc4fe85474c26a9419c8a818515c170576ba2bdeedd7fcc6f318414a4a3d21c9cbeeda8a93420b0edf749ea937d15e3624b9ee08de930510b108de17e126ba03acd647a7ec8ddafe3ca8eddafda604424cc0e1b3229e64b3a8f334cf81062066e6d451306e00c61b0ae09a7457c7a9299acba8f28210e8bf2de29c413c27c06a885f4d76223b657e08e24e881db1bcfe5b6bfd21c10ddd08b82782e1d63f72ec05dadcb3e6f4c651acfb8e108609f37a0ebfa1992eabdbb0d59c3bdfdb6db5c8ee69280855a5a28f25f18c43da954337213621ff72b607e1881bcca05b53f1c48206c4a41ea513bb45197e9ae69064557dda4ab0f2785f5f5e9d0c7b1c81838c5d48f6376a8fcc0230bdde2471a3521ba0cfc222989b336c7aaf81664e3465f45d4d0820833451fa85ce0610dec0bb0dc7020a91f5bfdb6ddee67152a497507c391207b7aeed6bb1f6eb812380b33e42b78d1c1175d9aeef5c67894879d6200acb2aea17c5461bd2909315fb7611d72aaa92a5b1801b6f0402ae8a7a251bc5b7e652861886edcf155515c34306a96e9af5d19d29d425f30dbcc7715490343036ffc28b117c234aefd3e9a210e2248379754ee19c7b24f75ed41e418321a2ee4607e6801bf764f9aac82c13685d81865e4c68ee67d23c02937074e0099461711c5ba2c40f4218f00ff884db32bd6b6c753f352d27de3e9ef39a449f470cc9d5f0a347603ffe125365db8f7ed8db6a6ff3f054b7e3b1e1ba4e3b120abee0d791cd64f3ecab1be0a985f5a04c9bf91566b6af9a0705618a7eb7bd34dc71c6e982fe9c684d2fdcaf5ad1f4366c6b1573520b3a43d1575973976e5a2d8342836da61a919fe291d4e06dc8b8047fdaa591db96c5f708d7efc10d0febd2de603998daa218841c38f38c294f79a058c14b8451e970d45b64ab8cfd811e332ca469c1ad1a703c7889b6af2430b5a9a16efb95767cf6e176aeafe1d7f3e207b92316038a694dc77e4f9d423f023e6e92994bcacc8811afd8022cdf24268c646e4f8f1eec0ebd9adf11a338bb0b76bffdfdba5060cd8858c3861c2020a8367b65b272305871501ce9131ba58f4bee28542651ff43e4b044e08eebdac22901166e5a4690335d5c195d0d895470df40c756e553230fb20485f25e6122c131a1c240a8eeeadae8bd743e25aa7445c4d13bcfc2012a3fffd8e71840a73b0fb86e01b189ed98ffaf53317a3be72575c72b3851f5e6d58946ea53c27a2c074de878396bce0f0a8639e4cd188b0c41bc93ddf2e2bc21f4a6a2a5231612f7cefa0735eaf3fc599c018bfb788b0951173df46c9f57ac58a70364a78d4eed63659e80983ff21b441ba041a6e0f83cf5cbb46787f8032f35ee2d35fbf278ff6b0c4742b0c8e9b8b51081b3db97c75feffcf4793b50a774f9fdb8e1df5bc3b337964677d2e7148e31ea866090136940a9670ff492d88b48d7f5a9cebf32b865381303636930ac76c940454bca3060d8f3e4858b55147eccdbcdef80c64b8030498ce8e15420d1ea46c5406a55c89434765232bab57df4fd145a60191eea9b1d634968e0087083db8bd71be34739261753fba1eb47edda8df45c8bef040b152b1da174b1da36f731cd77a3ed39d6ffdd5bd68d4288c4d464e476c136d3ebd379168bf87ac8ba63a8a6a3f2430af352f2c252a0ef3ea2560870aba83ccecdd0e57ce9859821f0e1da1afec294048a1e22cdd02d5685181998ad20b26539aeb8e8fe02da9f3965583cc8109146ba182b6c8c945bc0e3098a353d07f9f28737fc73ecec7d12ac68f51135a617291d57e57a625bc7fc2174560f24a7667d4106c11922815af1fc4bfca24b625ff6953d8255a7771542d2fccaf74195c957faa3328cb7180b12efc3640eeac8dbac1aa55d236904975ea0521d8b3aa792c8c3194eb15497fb68351b2f662e6dcbb03607feb7c2f29456085d96d4dbcfbbcb2828c812f21624a301b648201d27b9e80862189e7f8e81b479301b4a55dc2aa7732b3460001d072f04c96dc34fbe5f7eaa12107dee5c4fcab6977d65d3e5a3cb2b2334fa2ed10a0ff0f02b43a16f5bfb6d4909b70af2b1b1d072e5c8b0a344ade8c7044a2a1ab9a58ff0e629a2345a9633513ac429ba96b8911c227a306fb23769d02b233b869c91abd605e4d13e92f56b13414e8b29e1e9b203154db9380bbfb66c4548df00dc5f3b13909b2bc4e90d5e3a42b6e4d6e8e1eaff7b319179975ae90e3ded62efbac60abbb57f07c348a4eec2032289ac91476297385e0ba3a9bb08de5894baaf7c6a46b4e04e75c10722dc2c5af819638b8d41c163065cd73b8be3ef6c36cbc556fe87b4d35f14211a86fb8800bcf677a17ab8808224ed0ca780338893612a686fd6d44a1b621096477f6f0760abb232d7bdacf9c7811eb0d87d69452f74c7563c583a3972083cefc8ea05513b87f6d0bc52fcca7d1fa02d5f5f06837526597ea38be7c7a4b33f53917e84e7a46021b85d416a6455cba0646a2e8106ca515022355e72f5c5c81d23b2bc2abcc3ed75db75da3301df758f797a61c33bf8bd3711c202da94de304b7ccd1049d58e13190d56627755ab3ebcdd2922bc162240b9be762247423b434122bf5173147ac981beaf9dcf95f0f28601b5d0dcea36ef0f06be3eaf57a86e0523cdc712ed58bbf081ab9ddf9cc404f6dc3e48299d457c79735587d83d64af69bbcdd1c9654514aee10728fb51ac14f5de78152a2e15b7d40189903e1c8f6decc9b9c22590acfc66c2c61028f2d55609a25e0a99beb9b542ad9b0cd8dc60f5eeea600e8567fdf1675bad45b6d10d4ed8f8bbf012ce632d9d1b73be0944eb9b475a1567c21e22f5b5db331cbc0312fa9069fa04aab947a57d28e7620ad728a589ffe214409284b9ae9fecebf5ef5a99aec1efdde05eb7f2bf80ea66cb5f4580e5eb75e8aaccf203b0e8c29275c05c8ed39029b5d74e20b92dd2b2e6525e7e4e7216735d74f7db4cfb4f76083f69bd6cb2f45a29229e38b54f1e4f5a73d579c23119f720e31d39c119f0f07141c4a461a710e28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f0000005f00)="4ed88ef6f971ddebcb2d85970fced30d60ce37ce03b1b6dcab31d6e4d9e84ed7d6e43289be9c65a37254edbb46b85cddc96d26184d0914a27ffe4ba441c6b79b251c420b2b2c2f63624d180e869052798b480701f55e29c556f304fbe567bf5813f71a685841d0f345fc1dc835982d44a5149029727d5f32e2659dfd905af3855f37fe552cd1a690335b5b7e21b8a43b463a43a55bc764d18eed175b218dcd94eec96d753c350f372ed4a1b4fb1227d161b3644b42854d78a7850c8e4e229643842663292f9dfbf74b0c408335a097b8ac3bd59244c58e3af3a354336cd3eb9fba00bb03a35227baf92d7ee1988de903f6471c27d952e38911cfbeeaf4bbf74cec8837b33e4f91d3704801480fe8df11f5f775de272b15ae680be807404f2cad30409df39167a7fc7887567f6fc8803ebe6a41e367743b3e27184f72ec6b94ff6b650fc4b0f5b98a5f364f929a25a09e73c8faea7dcb8d1b36bf2e30376742d90c1a6883494548a48361dfbd9b84d00d719516c4a4089dd64c57db3cacc575e9326c8032c4777eacb231626a54fa5649e54ddd232720a13166fbd1bf8d13851f8d573e77deb8d7fd2749daf95d80c94930001af6abe9346025d86c47d2ba16197c28f5b6e3d34341d4319813e15fbc05580aaeec3289962b294ba42c4064d36519af2ede4bd25efd6c91063ee748bd6da074fee1021ca19568fc4770053ca3e38b5117d12b42410f41a10d1860fafb1df37dac10dec1bc20aedfadbe72cb8477ed2803e43a6207329c38e266263ae3492f9beb3a649ac6bec1bd1c46d8079fc4111d3d8bd6ccd0b08caa7fe9dff180319d7a23abf41a9f119e101ab54f4408ee7602bef45c5ab65948bc573dfe0a75a3a843e86b35ff22f3d65945b8a5e95ca6f1a41ed56109ab102b3a1322f508a33e575984ce3bd91afdabfdd5a4310b957b66275809505683037f7e095850df8c1067955933d6087e2ef12c44bf601cd9dd414a6972377bdd7a5c43a0a2e0ffffbc2d0d516833420625a7722f286dd5e51b3c5760dabed81aca8684cac5e4e4a0199f5d5489a6afa3eceb84ec27ccb5dcab370ee93b161153d06909b043832d0d0596f09c595678bae9954d2f5b3bf63e804356a7dcaed9b9072cef63e25f0a8430b3c2ba48a9c89dfbd6f16c4f3912da9e4aeb9f8e8c8c54c0eb409eb5d3c10b960c2d4516deba55e1804a9573a4d73d6dbad52e62fa85ed0f5aa0592a9d2e55fee5ece0e61f71091e6431c3988d2ab8a5e446377ad3dcfb9a7b2cd9b58026281a10338786499c47d3287aac008d8a080fa3671d35c3f4637934fb9070cad1a909446012d6d4de71bac2adae40bf93b9992acf18a2791ead018fd0e9e043312a4b72570e0d7ad5512ad237804c6855e93128ae3f16dfb2efb8560adc8323c31eca68197b87fb5f0a81c5584457d86a032d71ddd433427dadcb36c57d49a896fe0cac510494244b7279a8d65082fe9946892d8ca67f2d9aba8e1a2d6110bbf7fb978af143d9664405e353d01ba347326f9edfe1a1061a07c5098cdd305497f7807b1249cca1aa2d22bcbc33b1a4f177a496e823fe70581fca97828e63f56d9ff431ea66e60d24b6a69cee085ecbf521a64327e9d11b4826a4a6564797ead27174e841cf809b149a9abd589773b1bd20ea39374ebe5e521a4dd47ea7638cf20dbca689c712124f630602894eb0e0b4d2bf200b03546f308b37b97619ebac4b353661dd133b4da29b12835bd5888fcaa0d81bef902d6f1726e67c64e55a75550b94418aad7c7bf0f9b09ab52cae0d8eb93f84f2c123cbdd7e628900cfb19437657a6bc3cb11ab3cc0ab9ef77b84de6681733f5615c33b1002c6cebc49793182fd5574967ff4dac233bf62014a56cfe5a11238eeeacb01b1810e8c681d960087e74c0ffb346b47b5bef4b18d7804fc0973a2b789fb84e3b3fdfe8bc66c7634d2ff7c3a87847d55e813085fe5b1e99eecac1f3788914394e7ddbed28b51ebbed57a525905e1317ae3e6217a97c397d0fcac0fbfd3e15d0c28695a86fdf74d4673c8b7f7667c649c19a8fbcd1f131a0863307a767cb82a0d983d7261a2e2784e0e0ad1a50dece973e03aa99cea39b279d704da1aa7148e0e2a9d368db0358b08b6f2bae94f7716770c5ffa0ef710e6e7005e1a38a8a8e2406f5372e496469c78df38c283e40597f8aa4f392537af107127f1ffa53adb6d8acae9c13b6ee15bc80f90cce59765233e11612c98053c95e1866b2f7d23d696d38cb2ec166cddcd7992046c7b526971c661bc02d4e5ac756f6a8b15beecd067adc562892a760bc2ad9207804f088d90a92e2577a66216ef75cd1888aac72d04aaefa3a2238d46c2a595e843aa28cb6ba9d9ecc012a3a7f433f04518313ba7e74c82a9efae57c7172ec77c2721089f83083a4a2616b9af9c3fbd175f9f1a65edbdbce33f7d5b820988a8586165dd62c64ec43ed9616a00ae6e70b54df88fde07329a84e100e3822384ea4bec1ce927b0a2a8c45b8f2523e64829a12cf2370dd66991593478b65a9cd9f5bc04a4ffbbbb31a37656fc324726514b9f59cd873874c883e108af3f235c5ba65d53dcb976290f25dc6d1d11f6712568e7acbc76c4d43b64f7de917e60b2ebed1aacba2a9f5186cd3c4ca2421aeb5c32d2885f3d75354f45c34502a39641add4e5f6d889fe7ba36d710180a6fbe9282f0547d664ccc9a0acf5f433efdb477172238d1f2abb08c6deaf05a36de315a846a8203295f4cc1d2ae879282f39a77c1a3c541466a6ef9d0a775a7d265cc420a26a33b11d8d82370638d6ec8330e36e3e3a52e62397bad6d1c543242f4521f534c78fe9f720f7ad2b821165b355be83e8c20f53dac159ea18bcff78c37b522031fa0bbffe4734d80c034a5986726a5a10e098936f9baaef118c26538cd16300097033815d2ac8536f16d8f8dfaa95355b1d4466ba70ab55032c7df3e9f19c33608178fbf0478453ad5c6a1d529cff271823d0fc338d3be19b5f06d5a26447b249085255620ddfc1da3f21e3e8df92ca94f5566c64d56ddf9e7ee97db2b407689ed38a31b4f688458d2fad6f6101c4f9b9fcebde3b880ada02d98dfa6f85bccedda2a1b0f6c08e9578cac571813b5da8acb324739b07bb2dd92dbd5fd5a5a8110730fa41e4ce53b40094a2d189e90a562722ba3c3eae37b15d7ddf380373a6b187c7e419142742a97973e9d06bf1eab7dd7772b8b462c9d19aec94b40ca888afc900f44afac20ddc94086a5740daa91a9d591c135e814f6e23321a040823b12771707fb3f85d5967d3510a82d6965a0b586ad510e323788c92487842f98d1806eaa816d445c1a245dae42d61760d76877f4c9d6123a0ea2d1709eb8f4139e428c9441607090af6cc3acfd7bc303f3e3d6f4ead52101e3e8337303c532a0e30de69edc3dda4d99df1c1a72e28a00e10aec6f1af44a7dd06ae22fa4cbe66d2272ce066b862a210c36fd2e16a0b5a2270aae88a5ccb5047475cd2c56c088c6c97907a341261e8d15601f11f3061f516527df6fe08843f6071c026021448cc7212395c6ef91f08084fe3a651b0ce144be419d415e60ed41dee21587e1657b4809a315ffea907ad817ff4b91314c4eeb424a3ec1d155af0e9601853ee8691b404fa4c85d00a39a1e1b855a7fa1e9d35eb91f062c457a34bb3332a2d167539c7f78b8ed2e854cc30dbd0a40fa3ae2b97b71101c8fafbf0959eacbb02da5df1dcc82da7818a0b9ca85779f63162627202ab93f50962d886a3b4f908596123648e933f47ada2cf0a7cd971ad9a0f281bfebf438cfbae547d4d502fa11d3e9a17193c42702f3eeca08b2c30b40a8c189f5b65fa4050b162ecefddf15eced8b60c70a2d4bab23bdfbfd83008219bf3a954e81f372b86d0a1773656b0f480da9ce215fd7ff051812fbc7bc8a6ffefd371764a906bcc35484d35a713e251bc344b2054d019c2bb75c5ddcf63b267eb1ef09792122946e48371450e69af59217772ea6997c62cd3e75ef928439e61acf5c00f7abe5b226e3f0c49e8d89315d386332111db9d19b746dd6bca8e5dac9e16e7e12bb2af690645a0092ffaac6b90a457bad32067da02bd45f6b3a37b40c36c319dcb86e3cb019d9e6a1df8c69d294b676a95b4d305658815d0e3fd1ccd5963e3f9fae89e98b283b2b32ef56603f6125221a817c52e341182993ef09609854ba010258fc4c1bccd9f0f41755a48bdf61c59d93f8ec38466b96cf6e6aa2b2ea695e74baedf44085f8ef0dd17b34052d747d36318fda11949ae4651d447719bae033cf025ac45e201c5d6998176c8fa3c91d74972bd4c32eeaaef456b82b533263fa542c47a024c1841152416bf842d58277c0429a3a47bf6e55a17646aa17851d86800bb14bc2adc6b9e599a04c463c13e8c828cf8b891685e155137bb39668355476df5f4712e9e55b288b9afb62bb46d9c62c5e40f68b04c4e8aafef667ea569466ef8c353f8171835df14bbce2f4afde6a2c6d2699b0cd7404cd54e6d9747e99d5627a435c9bc2b6183162849e4cf9dabf186777180064fe38eff9975a7a43de9d9ba188e2830021838ebab98e3e23c7dd95337454cc8694867bb6c8baa20681e056c3598255ded5c21f0ee048d510a247a8bf58de6d76a0aca4fc54d507bf34593a6a4f84f6dc6fb97807565b036c61c793295db83cea15102ca36815512dced3d43b20efe95da99cd37ca518de933b047177e2d3e2bd71a452d385b78d6ac0f9b3b5529741c6e1bb1c859ea7b1533ed667fac663e5a98e666009af497d537881ded582d00de9d06283489786db1a4a91886b8b0e7f47b24163b219ad41c4c00af8b0bc992daf65ab73a0810ddf18fd3dd3425963a571040797d7668c4ef5978a4fee941a8a855bf18dfeb21f3ca69fa78f3415b7ca628f6efe0c3c660cbb0c85da0ef7eb6200f7fde3a6a2a1aff5f110941941a4b6d26b6bbb32b6f0515800804bd1e38e3eb3386402d5895d6128afed2d8719b203b2dd05a3dbd4767704a050c1823a810998b98003053bc60a29d9b5c59d5d90ad20705ec2d8afbb05147ebac3df452a923dee2c65c12f377716cb52dcb073775b702d17f7863f8f723d07e5e275c878ccc1cb532f96e8a33bfa9102898dc6f722263bfeff93af5997f52241313c58e6704303268dcc8943129ac80fadb3a8b1baacee271aae9bc9ead57e76e938904c8290aa03bd6c04ef2fb985029522f87c078340dbf22db8162b55a908ff2f15072a6f56adb7e42da29027cdb059cb67ba907bea7f7d41952a44812d6f06d6570f9d159b1b09e97ee7bce68128d42af582e026f9a2ecda0e9d08345ce0acc948d3263a305ca77825bb903fb23ced626b944ba2b7f5c8e9af0ddc0afe126760e3b584c9cb1e68287a116051b3c8b8489a3ae607d199799a6fa619e8c775575e7fe090cea3ff097c66eddedcf213ee483401a126c459e33e8bc13e090712162632d94621424c16e7cf04902474b0a54b4425ff6d6e604f747bf0626043db6cd912cdd391efa3f655eea2b5f9bcb57a8ee495d095532fc9e5e1ea60d16e9c4ade93821f6449b1a3bfb77a6d25d9ffeecc0c72f9f4350cd733138259f0a348c7f7ca4a42e93e6d5180d579696a3c1103b5830aa0b8c5c6a7672d9af608b9ac95ecab659460de6dc814c870449f22a5da81d4c6475f56fecd1396b0ac7ce189e990b4232255d26d436de7edb5f5722033063cfe443a41d8340df464b137ba021b818cf629a7a435f48b08ebb46ba28d468d28ae280438b92a948e76dc7cd79dd7b0240c4bedf5b5402c4c1f9c0b095b8ea90336b2fc2a5f21c07cc835ef5d3df5c1c662b4d99ad72f6c8becf9edf624993fd8468c2326e627eb5e461940754642dfcc5dcea8fd61658b4a862a3c261968ca69bfee43e0a28ca600f3c734b48094bfa976d3bec1c8f0e92d58f12c243b5cbe45eef24c7c4137d33f39a7751bcc65b744d934c55754a3cfe64f7cfaf32cc68eeeec707ed83df0f0da6d6e8bab6d4d5c9c034da3ef439330aa3035be1867504e9e66127297f91c63eea345b3060bee7ace6756e153145ad202b67a318f86bce20cbbb67321d48b0b7403336f0e615f480d675daad809bc61a0849c7ee803dd733c1d720417117789a54d7cd1daa963ad8cc5b3b32f4292998c3b6d6da5abc8dd4314233580d28f4eb94453f8eba624d77c2970f358d1c7477c1cf7f81c3a90516612156cdf63c0de6a57e7e7f05d958ce56d1047318f1e920cce97dd193d8edd0ab2559032770bd521546ee1a17d77e8ab0a8e8242ea2ef383efc0b94892c8d8b15aad9818a4f77cba6b62084e4a618f879c004488832906d7df5e1c25b117b9dd3446a325a6d91fb048bfc0c66005e95cb27e6022de93efa390672b4115ec31e27ca8a0d3a939751b1b11a44a5335f3c0bdda6c343ba8c3de4bd92fb2f4d7eaedc86b9bfe2a577e545cb72d7a477e772c4f94e4d083655074ed6d6f700216e252be2023618f60ea0c969d462b8de088e8c08e5071ef363009e9dc9f87b53b4873c4151ab1fc56295a38b84ee78f3c7d00656a0592d440773c6f49c6191eac61c5c053c2db9cefbbbc3d44a20a27bc2d579fc9b9a2d3eec9ca2ec39a7546dace2b0d7159005c23ad18d93b6f7ae0fdb2e956904b55729357e4cd6f684d20267b2f6df6b8e174baabbbc9cf1de73e649f3b7634486f38118369a449582ce78a49d613bf372aa07e874ce12fd3526880e407abdd34149b221395da84d5ea2f2a6fa93b066f02bf7494d37ac51babe5c595b8b62b7a79d49256ce1c4745ef97118bd2c2fa46ad7c0ee80d85c0e4fc18ac1cb4228db2e091fa3dcdd147ba5a40d66d63acce7d22d1744fcde36918cccd6eb2e5a0520f76f4b01b2a3254b5ad7bcc8eef0b4316498e4314e34face29b662ff9afcab5682f0cce68efc47a37c5a4613928b6e88bda2ddfb47a6fde48277866b9d9236b3bcc880e804048ac2cb5d7aaf84ad9a3e0db1a6d941736f0ae43d8f46783dec0909ba2f5bfe87636d10b33be30c70c8c212de4c15c9c38b65b1e71f792a490515f8ab8cc26b8a3b1db58879fdab140e313ac30168beb519c49b5c2647fa6f66ae0c649427b45d4ce3910e1459b965d4c1fbb2060437804bc26535217c56a27cd495931a2f874a4241dbe74be86e0665e341f71514cb22014858041269917e30772d9c672e6c76ba1e69603d289410ad5a359c9a1aa867da21e2a502a232fe20ce14bb6b127d0250eaa2eb90f412f9e4135b8a079db264bd6af08e36f8d3cc9678751e2522150bc7f5fd773511dc20b66a392768b12b5a6e1e48f341b9d88cd9bb90f3f8e54a1d7df5e5a3e5ac967f956ccbb3d720b26ed8ed7aaa65093b8c92a15c0015a678df3d678637f11682b98f9728cf1dc4ff890b52e6047a0be9631022ef56e5bfdcbd5fedf79cad3cd52f8532cfc6a747853fd55cc0314a4f76a7b0a85e79af9d0aabeec019080808f7d184f6b4ce9e65b548144392a0e942ee236a891824e785510d76d095679cd373360d0aebe03dd6ec243c21b4c1303ea0d14aecd7c20f4baf10b88416d1a8b0cacc72a3223584dcfd7e73f045f26e7da252e3efa4e7bed47850b438c4d44bfc36e26411fa0b05b8492a530ba9ff44ec8075b08cb1a4b0747f77d81b6462a6f4250370004f360da5fa711916b78738015404fbe57458cb448f40d513c3555a18f3a573ace8a837f4c380ae09c1bb8f14069c9f8ddc17b58ac3d8b933c4367254faf0bef639403163db73ad671ee9378c132e101288f5b5acc0462d88ac2c180d9658eccec5cd522c66d9a2e1647e074acf0ce242fb4fafab4b1002a0b93be0cffc10e5be5a0452f01079b6d3fea84e8046e4db8db1e32a9ced18b625f6cd83f6b3b7e67c67653ab148dc7327b7b5e1c61c784c06b577a2a8602841f2aa2dbedb53af0284afd82bce01c9d453e13c18a21f307a7e07b65c393a496205fe594b28e37613dea1aaecf655c4131a6de551a29fb2b7f9a4143b8d038c6b2ef3f4e8b3f2e558f283c6b97b9781bf312076cb3873567b9e9db764791bb5908377f4b0cd11015f31810e7374ac6962b7b8c5f88c171374876854bab5f6146b51f552b0a10debb0fa17e3b568ee8142aac2fb2f4620906934155e63476fa269aade53fb13adc9994939f0a7e0062f65757ceee5f09970137dc1bdb29c4ae3ce8885492a9eca6579aef6d36f611924fd7d4b1f441c5b8eb141be70abcbcf4de13d0bf0bed13ad57b045dcea72925f96b9c2970d96d59c4dad5d24c24166fa8c96ac465f1b7f6a2ab1bcc5cbf28e836840223f57c3583045761fe5e763579f089ed5ce9441074a3272f4da61b11814e8cf4a5e89c3a4c4d002c0389303d03cb94a8810ab8c4d8adbca2d9e2ea28b13fad20f0243388853cd130b59212688b4f06d602c8279604e5fa9dd3229362f78fa5d575e672521ff5f003183fe3ebc561a2268c04c22e6f7b246e936d0c03df4a1f14513a3e3117be78619fc85734dfc69da60c69f0554a9191b96a22035db989b9203216544f18a8ae0da105353621dc4228cbd606d9950d1dfc25f9b1761df9ec9044145e313a69f255c6ac5d333ad258c2b4bd743e0d1a84ea82f0d3863e7cb4ff26427cd1004ae703f9127b686f538117c9427e70c546929fa324798aef128a2ee8cbb0c1c3d9e5a76b7b080a39ead73e3d04c4784568c2b265514f86ae30c38896ab6a8af44f31d8127742092a377382c229df4ff232c967913d3a791977f34b5d62d1d53d24b3721a7c8b4b50f331584eae00873888c18008e061133160a2e7121b6b46c77f640253305bcdac5994a42fc00f55c933d392ae043638afd87b100cdea662e02675c982cffb108f4b79120939ed311670b0fb275843eeb59ff7be1dd8a164acc52f2e70cf9b1f134a0c3115e2e4655177da2f1c157ae1a08394fbeec4621dec09958550e0aea88a884ae2e2f5b66b1dea640a397b144bb57c7c1abee30495cf774e9949e5384329a72793532156299a999321f4a0f38197d4c9fe05af3218e0d9c3545d56c1c36ebe9a0f7812697a263c88dc7bdadd222f3667225d82212007f7a98122101c1fd4906dce78547ca4606f548ea7baa0680396d39df39b973914cc089cb4b654a921e3e1b7b14f1ac878e9407fcfd9a57382d4f5554dcbe3838b8fe9c0df7f15db03bb4efed1572be0eaeeafb1a86f41dc1b384e398dccfb5ba2c960d71bde423a044381fc1ac5a37f0f9dc94fab6df7ac4f3d6b69363cc2736ee8a0658e39c1cf3ebc75fa86446ea649a6620350043193aeb92081178735045a417af26f0000404242aa21ffb0f2d299117728f25de48ef2aa9d9c1c2126ce29954b03d291aff41253228984ae394e276030b8bc4c43f2cce3c859aaa7716ed249a6352729d7145edafc94d40c88c825fdd6e84e0eccdebc5b4ede24d644a4e419924e88d90e17f588f91be0d2c12e3a8be22b72f6975b9c89909311f5267def47734da1222310bb84ad9ddf720b5c7fa66cabc12d4143bbac12c9836110dea15d91abfbd8e4de5e59123359114329eb4d424f112f05c40bc744e4a93ce21f301cc7c128ea786c148fbb10636c1ced8d6c31f21556575cb1f88fde5fec9ae1a4c210e3cc36b948a08195b91736c3fafb3068a945ef4cf330e0a38815f28b3526ada9b533acd1dded425d4f4226dcfe372ed428f7a538af19bd52b600a612d3f80fdafaf8ee6d74d96bbda6d609523c3ed990735b168065930a113f612512e514578fa087586c563cd814de3b8e0cc2e6ac78c34aa20a7898f3d6ea58372a75d2ba8327c9fcb75767073d31d3db42618e4823cbc99c24c49372a2b7ffe56790a588252b10aa39c003c31de3b5681fc116836967ee94a4bbe48482b34c128aec3642fbca0182f1af0156bb8adceddc371a2a390c86d8fa1315c57c70b57a324b2095cf65602e4eda547895bc3926e1428f84ab6e7cc9537b02e82dafabfaa530ba9609e6a96900793f92b0412e79b413cbe441e0bc71aa3b1c96d6e384fbba4e8ae5f048285aca50ae7edf75df40d27524d55f51247589ed163b7ceb1c3d827fc89806f0063adf3df39ab96d7ba4252271c15f8568f09abdb244d4f4e2987cc024de3f1eac1ce6be2109049884cfcc5c8c765ae0a4b9ec1a0f5c592b6670926704609fe8c34be24cba4214d69b4b09c3864ae37685ad8aa90204a45952f9a96bf7da4bf65c79903717b6fb266538338ef1d641e178539c06a3cc1dc78a26d6f10abdb99090c6a80295e11957c0d4dbb0ea0c2b49d9ce60ae0b5035e0602091c051ad78c1e694f0ef9b0ee15c4277a96cd602c0415bf889ea64e40ca7b260a3d08a02d14c90a0d90f00b0850d22b75725d72741ca14eaadbc25525b33a23f5756715c8f3cb8a15008942fc930f5c825a59ccd3501772e1ed617f36388b1c2600292eb97873c9de19d7dd24ce058382a10ecfa8a1b465e969035837919591685c9e481a42bbc21383b3e47fdec2ba69378f08d87840ef90f169ec5911a8b0f05f209352b8d8c7697d95d6dac9c52426fca95d889978efcfbfb0a0df9147cae1e01d36045db64f3226415bfab7a63a436e745874da70dddde244129f65c4c781e47e68076c83ae4aad9deb8aa585597e9bd9e838004329b3e41f56bcc728eea49ae6a6d34f4469026c7b6488109bca2821f087478415e0b5884613ec6e041aa074ff5fc2ed1eb95b98dae81c7c10fd121ba53f36ac0e0355bbe948364d220aca48d67d2f1434d059aae12e1dc38207e767280aa691515b3b466ce119f7fab2713453a6b329630c608724eadaf9caf9205ef873d5a14518f19e485aa82f7dafd68e5a6f5e0338546d7d623e6c4a7930e2a51ae2662619d665c55d1152b81e8e5f41e5ee0d6afded949be947e3a715a5d852ac7688650031563ad15da58c8d9d4c237629cc88fd16e39ef95c47a75b8a2d090c332e6adcbfeb0d4a8e9b38e12e0655bc585a6f9c3f39bff2d46c27a2c18d4aabe40601b8226ffb93538e410c9e8feed1d3e6c444f14e7f8830a4268bd98aed0f94ee3b9a2d13928cc5aa2d303650e79fa536bd5baef42703a5c652c197539f92536dea625889b5c59cb4852e8e6c32c780d84fa868937f0a0adda24a7fb5d8f9a921cca12adb4a6ff47c13d59b13fc81ff86c50aa06a25075af6de2f65493ea48fbad8e8eb9b16d575a5461fc53628ff2588aebb42a9f1a950bb7a4af31233f0ce7c0f41e3203fc287f1967e6eb659bae3d631a02ed6ff1849a45204a0d8a91eb93e24eddfdaf61b1f706eb33bb6017165ff0c3eee4b2e18061bab00004e4af31edb70fed67ff6f720eddd48b3e6bb511685da2ce0439ef1ca6d6df34a65856e84d09b5f3d3093ac5bf604d89310bdedfeaceec9219ff5c27e1d4365338b294c6a6d5fa404b10f1067d1fbe17dc9981303e2948acc4354fe778d40578394d540147fa78b29914849a30b9b1a438bd1f7a9cfe188acf617a1504249eead1a361aff911b696c4cb2d5c6d20690ff0a9c8fdce87625b38756bee80517ddfdbd1473d983acb5b03", 0x2000, 0x0) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:39 executing program 3: r0 = add_key$keyring(0x0, &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) 08:06:39 executing program 2: r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r1 = syz_open_dev$dri(&(0x7f0000000180), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r1, 0xc02064b2, &(0x7f0000000000)={0x2, 0x8, 0x81}) r2 = syz_open_dev$dri(&(0x7f0000000180), 0x1, 0x0) dup(r1) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r1, 0xc02064b2, &(0x7f0000000080)={0x6, 0x41, 0x82}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, &(0x7f0000000140)={0x9, 0x9, 0x7c}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r1, 0xc02064b2, &(0x7f0000000040)={0x49, 0x7fff, 0x1}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, &(0x7f0000000200)={0x10001, 0x6, 0x3}) ioctl$DRM_IOCTL_MODE_REVOKE_LEASE(0xffffffffffffffff, 0xc00464c9, 0x0) mmap(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x10, 0xffffffffffffffff, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(0xffffffffffffffff, 0xc02064b2, 0x0) close_range(r0, 0xffffffffffffffff, 0x0) 08:06:39 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000200)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000003500)=@ipv6_newroute={0x38, 0x18, 0x1, 0x0, 0x0, {}, [@RTA_ENCAP={0xc, 0x16, 0x0, 0x0, @MPLS_IPTUNNEL_DST={0x8, 0x1, [{0x0, 0x0, 0x0, 0xa}]}}, @RTA_OIF={0x8, 0x4, r2}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x7}]}, 0x38}}, 0x0) 08:06:39 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(0xffffffffffffffff, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)={0x38, 0x2, 0x6, 0x0, 0x6c, 0x87400, {}, [@IPSET_ATTR_FAMILY={0x5}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x38}, 0x1, 0x40afc}, 0x0) sendmsg$IPSET_CMD_ADD(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000000)=ANY=[@ANYBLOB="38000000090601040000000000000000000000000900020073797a3200000000050001000700000010000780"], 0x38}}, 0x0) [ 307.446912][ T7273] loop1: detected capacity change from 0 to 8226 08:06:39 executing program 3: r0 = add_key$keyring(0x0, &(0x7f00000000c0)={'syz', 0x0}, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) 08:06:39 executing program 4: r0 = syz_io_uring_setup(0x506f, &(0x7f0000000000), &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000080), &(0x7f00000000c0)) ioctl$RNDADDTOENTCNT(r0, 0x80086601, 0x0) [ 307.489147][ T7273] ntfs3: loop1: Failed to load $BadClus. 08:06:39 executing program 0: syz_mount_image$reiserfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x40ff01, 0x8, &(0x7f0000000540)=[{&(0x7f0000000140)="8cb637", 0x3, 0x1}, {&(0x7f0000000600)="008409", 0x3, 0x4}, {&(0x7f00000003c0)="cf58f9b6b097287218ce56f250b426fd1534a8241397cfab6d8816fa4bb45c3f9fddf876b269c1e859cebe21b7d9244b1fd8f411c2e75b40440e6e93656ecbb49beeac1c7571478ca3c99ec9074aebadf4462d55738cecdf1ae2862f841926f15b27706dc5f58b7a97eddb385d14cb9c8ac2401498496fac004e5741178f6b0d2fd50e232cd6f66995259a8c573a6bc6ad4f950ff407df67c0d00efbe7bf66eacef1439b60e4dbf24b6eed04202c8542f11f3f6665805eac43e313d13faf6488a374e955b4e0d46b82b24401ac", 0xcd, 0x7}, {&(0x7f0000010000)="03040000ec0100003402000012000000000000000002000000010000611cad49e10000001e000000000000000010cc0310000100526549734572334673000000020000000200010002000102000000000100000012312a231212331233123112341341241273797a6b616c6c65720000000000000001001e003ac1655f004eed", 0x80, 0x10000}, {&(0x7f0000000040)="0000000000000500080000000110000003100048b25607818b96e27ea580195600000000000000000000009e08", 0x2d, 0x100c0}, {&(0x7f0000001a00)="00040000000000000000000012000000000000000002000000010000611cad49e10000001e000000000000000000000000000000000000000000000000000000f45098122a162b001731da04980e000066d9ca9b088f7afee742a2aac93d105868c72edb814cc66a9a1509f90bd413a2b62da4399debc7fecf87abdb531e95f92a62d960ae64fe76344e2543f4e6fb0d51550535cc7a260a24c2f4efbde45c755153418ce7f37b89cfa2db017fa700"/185, 0xb9, 0x212000}, {&(0x7f0000011300)="010002005c0f0000000000000000000000000000000000000100000002000000000000000000000000002c00d40f0100010000000200000001000000f401000002003000a40f00"/96, 0x60, 0x213000}, {&(0x7f0000000280)="0000000001000000010000000200000028000400020000000000000001000000200004002e2e0000000000002e00e2ff00000000ed4100000300003ac1655f3ac1655f3ac165ea000000000000000000f3ff", 0x52, 0x213fa0}], 0x218403, &(0x7f0000000180)=ANY=[@ANYRES64=0x0], 0x0) 08:06:39 executing program 3: r0 = add_key$keyring(&(0x7f0000000080), 0x0, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) 08:06:39 executing program 1: ioctl$AUTOFS_DEV_IOCTL_PROTOVER(0xffffffffffffffff, 0xc0189372, 0x0) syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4045ff, 0x15, &(0x7f0000000bc0)=[{&(0x7f0000010000)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f600000001", 0x45}, {&(0x7f00000001c0)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000001000000000000020000000000000002000000000000000110102", 0x18b, 0x4000}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x41e0}, {&(0x7f00000102e0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000104c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000000004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000080)="000000000000000000a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29", 0x47, 0x49e0}, {&(0x7f0000010660)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1e5, 0x4be0}, {&(0x7f0000000240)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a000000000000110146", 0x1d3, 0x4fe0}, {&(0x7f00000005c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a00000005000000001044000000005000000000000000000000000000000000048000000000000000010000000000000001000000000000000100000000000002400490033003000110145", 0x1eb, 0x53e0}, {&(0x7f0000010ca0)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147", 0x163, 0x57e0}, {&(0x7f0000011040)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff01", 0x18b, 0x5fe0}, {&(0x7f0000011200)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x315, 0x63e0}, {&(0x7f0000011520)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67e0}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc380}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x44ffd}, {&(0x7f000001b200)="10", 0x1, 0x46080}, {&(0x7f0000000940)="f7ffffffffff6c8550207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e265497563b268a3beb1f964000000000000001b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514889eff0412f806e2a9fa66391d84ce75763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756375d9c0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d128bcfd611129f1e8367f5501bebcd3dcefae7d74901a2cd18a72c763cf6105a545cb48efc3489da6ac0b5f063baca45c2e59e51ea56ffa8e25ac52c41c01881d3e1fd9cbbe73c57ccf7d6a182802a9579771b29033cd0095aa3cbb288c382f455cd380af76f1ce3e001dd83d2629131fa61297d9350cb608cbbff7fd27eb5af0a07a4e6b841a0d5fea392ab9866857a0faf1366cf91bc239fc5decde975474b344babace77648073372eb34ac1512b5b30bf03bb8b17f079c9edd7e09e56b94afe4f7f83cd1618eccd211959cd3cf2d408e43435cce66e68a482a40b02f1283dd8a186fe9344949a98d34ecc7e97c4201140b71a7cff642", 0x244, 0x47000}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x48000}, {&(0x7f000003c0c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3fe5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebdf0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x4045e0}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0x275a, 0x0) 08:06:39 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_HEADER(r0, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000540)={&(0x7f00000004c0)={0x28, 0x8, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x28}}, 0x0) 08:06:39 executing program 0: syz_mount_image$vfat(&(0x7f0000000040), &(0x7f0000000100)='./file0\x00', 0x8001, 0x1, &(0x7f0000000240)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}], 0x0, &(0x7f0000000180)=ANY=[], 0x1) openat(0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x4a7b620eb88f1e5d, 0x0) r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x20c01, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cpuacct.usage_user\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f00000003c0)=ANY=[], 0x7c774aac) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r2, 0x53, &(0x7f0000000700)=[&(0x7f0000000440)={0x0, 0x20000000, 0x4, 0x1, 0x0, r0, &(0x7f0000000780)='!', 0xe00}]) [ 307.652079][ T7293] loop1: detected capacity change from 0 to 8226 [ 307.700188][ T7293] ntfs3: loop1: Mark volume as dirty due to NTFS errors [ 307.721358][ T7293] ntfs3: loop1: Failed to load $Extend. [ 307.735138][ T7293] ================================================================== [ 307.743238][ T7293] BUG: KASAN: slab-out-of-bounds in hdr_find_e.isra.0+0x527/0x590 [ 307.751092][ T7293] Read of size 2 at addr ffff88808a04f820 by task syz-executor.1/7293 [ 307.759253][ T7293] [ 307.761614][ T7293] CPU: 0 PID: 7293 Comm: syz-executor.1 Not tainted 6.1.0-rc2-syzkaller-00105-gb229b6ca5abb #0 [ 307.771992][ T7293] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/11/2022 [ 307.782086][ T7293] Call Trace: [ 307.785408][ T7293] [ 307.788367][ T7293] dump_stack_lvl+0xcd/0x134 [ 307.792993][ T7293] print_report+0x15e/0x45d [ 307.797544][ T7293] ? __phys_addr+0xc4/0x140 [ 307.802094][ T7293] ? hdr_find_e.isra.0+0x527/0x590 [ 307.807269][ T7293] kasan_report+0xbb/0x1f0 [ 307.811741][ T7293] ? hdr_find_e.isra.0+0x527/0x590 [ 307.816911][ T7293] hdr_find_e.isra.0+0x527/0x590 [ 307.821906][ T7293] ? cmp_uints+0x200/0x200 [ 307.826356][ T7293] ? bmp_buf_get+0xa40/0xa40 [ 307.830990][ T7293] ? ntfs_bread_run+0x310/0x310 [ 307.835871][ T7293] ? rcu_read_lock_sched_held+0xd/0x70 [ 307.841374][ T7293] ? lock_release+0x5cb/0x810 [ 307.846107][ T7293] ? __up_read+0x192/0x720 [ 307.850581][ T7293] ? down_read+0x198/0x450 [ 307.855050][ T7293] ? ntfs_write_bh+0x583/0x6c0 [ 307.859863][ T7293] ? up_write+0x520/0x520 [ 307.864254][ T7293] ? ntfs_fix_post_read+0x215/0x2b0 [ 307.869511][ T7293] ? indx_read+0x41c/0x810 [ 307.873994][ T7293] indx_find+0x4ff/0x980 [ 307.878302][ T7293] ? indx_free_children.isra.0+0x6e0/0x6e0 [ 307.884174][ T7293] ? __kmem_cache_alloc_node+0x1df/0x3e0 [ 307.889862][ T7293] ? dir_search_u+0x1f2/0x3f0 [ 307.894592][ T7293] dir_search_u+0x232/0x3f0 [ 307.899151][ T7293] ? ntfs_nls_to_utf16+0x810/0x810 [ 307.904323][ T7293] ? rcu_read_lock_sched_held+0xd/0x70 [ 307.909833][ T7293] ? trace_kmem_cache_alloc+0x35/0x100 [ 307.915349][ T7293] ? kmem_cache_alloc+0x1e6/0x3c0 [ 307.920431][ T7293] ntfs_lookup+0x174/0x1e0 [ 307.924979][ T7293] ? bpf_lsm_inode_create+0x5/0x10 [ 307.930145][ T7293] ? security_inode_create+0xd6/0x100 [ 307.935581][ T7293] lookup_open.isra.0+0x76a/0x12a0 [ 307.940739][ T7293] ? link_path_walk.part.0+0xe20/0xe20 [ 307.946215][ T7293] ? verify_cpu+0xc0/0x100 [ 307.950662][ T7293] ? verify_cpu+0xc0/0x100 [ 307.955097][ T7293] path_openat+0x996/0x2860 [ 307.959635][ T7293] ? in_gate_area+0xd1/0xe0 [ 307.964199][ T7293] ? path_lookupat+0x840/0x840 [ 307.969018][ T7293] ? try_to_wake_up+0xd95/0x20f0 [ 307.974019][ T7293] do_filp_open+0x1b6/0x400 [ 307.978577][ T7293] ? may_open_dev+0xf0/0xf0 [ 307.983132][ T7293] ? lock_release+0x5cb/0x810 [ 307.987851][ T7293] ? do_raw_spin_lock+0x120/0x2a0 [ 307.992896][ T7293] ? rwlock_bug.part.0+0x90/0x90 [ 307.997889][ T7293] ? _raw_spin_unlock+0x24/0x40 [ 308.002779][ T7293] ? alloc_fd+0x2d8/0x6d0 [ 308.007169][ T7293] do_sys_openat2+0x16d/0x4c0 [ 308.011909][ T7293] ? rcu_read_lock_sched_held+0xd/0x70 [ 308.017417][ T7293] ? build_open_flags+0x6f0/0x6f0 [ 308.022498][ T7293] ? lock_downgrade+0x6e0/0x6e0 [ 308.027406][ T7293] __x64_sys_openat+0x13f/0x1f0 [ 308.032314][ T7293] ? __ia32_sys_open+0x1c0/0x1c0 [ 308.037296][ T7293] ? syscall_enter_from_user_mode+0x22/0xb0 [ 308.043213][ T7293] ? trace_hardirqs_on+0x2d/0x160 [ 308.048299][ T7293] do_syscall_64+0x35/0xb0 [ 308.052775][ T7293] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 308.058728][ T7293] RIP: 0033:0x7f5aac48b5a9 [ 308.063159][ T7293] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 308.082811][ T7293] RSP: 002b:00007f5aad2b4168 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 [ 308.091254][ T7293] RAX: ffffffffffffffda RBX: 00007f5aac5abf80 RCX: 00007f5aac48b5a9 [ 308.099274][ T7293] RDX: 000000000000275a RSI: 0000000020000080 RDI: ffffffffffffff9c [ 308.107281][ T7293] RBP: 00007f5aac4e67b0 R08: 0000000000000000 R09: 0000000000000000 [ 308.115281][ T7293] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 308.123258][ T7293] R13: 00007ffcad73e6bf R14: 00007f5aad2b4300 R15: 0000000000022000 [ 308.131260][ T7293] [ 308.134301][ T7293] [ 308.136632][ T7293] Allocated by task 2969: [ 308.140954][ T7293] kasan_save_stack+0x1e/0x40 [ 308.145667][ T7293] kasan_set_track+0x21/0x30 [ 308.150312][ T7293] __kasan_kmalloc+0xa1/0xb0 [ 308.154947][ T7293] __kmalloc_node+0x57/0xc0 [ 308.159472][ T7293] kvmalloc_node+0x3f/0x1b0 [ 308.164018][ T7293] seq_read_iter+0x7f7/0x1280 [ 308.168752][ T7293] kernfs_fop_read_iter+0x542/0x7a0 [ 308.173990][ T7293] vfs_read+0x67d/0x930 [ 308.178259][ T7293] ksys_read+0x127/0x250 [ 308.182553][ T7293] do_syscall_64+0x35/0xb0 [ 308.187015][ T7293] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 308.192937][ T7293] [ 308.195291][ T7293] Freed by task 2969: [ 308.199300][ T7293] kasan_save_stack+0x1e/0x40 [ 308.204038][ T7293] kasan_set_track+0x21/0x30 [ 308.208682][ T7293] kasan_save_free_info+0x2a/0x40 [ 308.213759][ T7293] ____kasan_slab_free+0x160/0x1c0 [ 308.218922][ T7293] slab_free_freelist_hook+0x8b/0x1c0 [ 308.224333][ T7293] __kmem_cache_free+0xab/0x3b0 [ 308.229196][ T7293] kvfree+0x42/0x50 [ 308.233021][ T7293] seq_release+0x4f/0x80 [ 308.237300][ T7293] kernfs_fop_release+0xf2/0x1e0 [ 308.242240][ T7293] __fput+0x27c/0xa90 [ 308.246234][ T7293] task_work_run+0x16b/0x270 [ 308.250881][ T7293] exit_to_user_mode_prepare+0x23c/0x250 [ 308.256550][ T7293] syscall_exit_to_user_mode+0x19/0x50 [ 308.262027][ T7293] do_syscall_64+0x42/0xb0 [ 308.266495][ T7293] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 308.272429][ T7293] [ 308.274769][ T7293] The buggy address belongs to the object at ffff88808a04e000 [ 308.274769][ T7293] which belongs to the cache kmalloc-cg-4k of size 4096 [ 308.289109][ T7293] The buggy address is located 2080 bytes to the right of [ 308.289109][ T7293] 4096-byte region [ffff88808a04e000, ffff88808a04f000) [ 308.303077][ T7293] [ 308.305409][ T7293] The buggy address belongs to the physical page: [ 308.311945][ T7293] page:ffffea0002281200 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x8a048 [ 308.322147][ T7293] head:ffffea0002281200 order:3 compound_mapcount:0 compound_pincount:0 [ 308.330496][ T7293] memcg:ffff888073471481 [ 308.334747][ T7293] flags: 0xfff00000010200(slab|head|node=0|zone=1|lastcpupid=0x7ff) [ 308.342770][ T7293] raw: 00fff00000010200 dead000000000100 dead000000000122 ffff88801184c280 [ 308.351375][ T7293] raw: 0000000000000000 0000000000040004 00000001ffffffff ffff888073471481 [ 308.359978][ T7293] page dumped because: kasan: bad access detected [ 308.366394][ T7293] page_owner tracks the page as allocated [ 308.372127][ T7293] page last allocated via order 3, migratetype Unmovable, gfp_mask 0x1d20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL), pid 2969, tgid 2969 (udevd), ts 255248206509, free_ts 255232459156 [ 308.394450][ T7293] get_page_from_freelist+0x10b5/0x2d50 [ 308.400016][ T7293] __alloc_pages+0x1c7/0x5a0 [ 308.404647][ T7293] alloc_pages+0x1a6/0x270 [ 308.409122][ T7293] allocate_slab+0x213/0x300 [ 308.413777][ T7293] ___slab_alloc+0xa91/0x1400 [ 308.418491][ T7293] __slab_alloc.constprop.0+0x56/0xa0 [ 308.423872][ T7293] __kmem_cache_alloc_node+0x191/0x3e0 [ 308.429357][ T7293] __kmalloc_node+0x47/0xc0 [ 308.433906][ T7293] kvmalloc_node+0x3f/0x1b0 [ 308.438443][ T7293] seq_read_iter+0x7f7/0x1280 [ 308.443130][ T7293] kernfs_fop_read_iter+0x542/0x7a0 [ 308.448349][ T7293] vfs_read+0x67d/0x930 [ 308.452554][ T7293] ksys_read+0x127/0x250 [ 308.456843][ T7293] do_syscall_64+0x35/0xb0 [ 308.461294][ T7293] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 308.467228][ T7293] page last free stack trace: [ 308.471891][ T7293] free_pcp_prepare+0x65c/0xd90 [ 308.476772][ T7293] free_unref_page+0x19/0x4d0 [ 308.481469][ T7293] __unfreeze_partials+0x17c/0x1a0 [ 308.486630][ T7293] qlist_free_all+0x6a/0x170 [ 308.491253][ T7293] kasan_quarantine_reduce+0x180/0x200 [ 308.496717][ T7293] __kasan_slab_alloc+0x62/0x80 [ 308.501603][ T7293] kmem_cache_alloc+0x2ac/0x3c0 [ 308.506508][ T7293] __kernfs_new_node+0xd4/0x8b0 [ 308.511666][ T7293] kernfs_create_dir_ns+0x9c/0x220 [ 308.516905][ T7293] internal_create_group+0x787/0xb10 [ 308.522202][ T7293] netdev_queue_update_kobjects+0x3aa/0x4e0 [ 308.528138][ T7293] netdev_register_kobject+0x330/0x400 [ 308.533653][ T7293] register_netdevice+0xd95/0x1670 [ 308.538834][ T7293] register_netdev+0x2d/0x50 [ 308.543455][ T7293] loopback_net_init+0x73/0x160 [ 308.548367][ T7293] ops_init+0xb9/0x680 [ 308.552486][ T7293] [ 308.555023][ T7293] Memory state around the buggy address: [ 308.560690][ T7293] ffff88808a04f700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 308.568797][ T7293] ffff88808a04f780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 308.576897][ T7293] >ffff88808a04f800: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 308.584995][ T7293] ^ [ 308.590146][ T7293] ffff88808a04f880: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 08:06:40 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) unlink(&(0x7f0000000100)='./file0/file0\x00') write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000008a40)="e74a0f89e88c3aba2d1c776ab25b221b366ab0ac5db05ec87f720b51be2b46fe1aa4d1f50e8d278e8e9641885de16dd0ab77530a7a8c79b801a4c8c9567e29f0fa2752524cd11497506cf97d82f723a251df277d637259d2bb510d2b02d10e860a1edc040eee393f7888f1d66d3a473cb767afa655e1b44ccbec58fb5c93aace8c0b871aa42975bf03e7e187400662d6904e49dee4e2af4c6102ecc3f0337be6784bc4a2a31309934f6f5d25877efe0ed45a3aa006d101d91f9b2afc4f5e481a8421c4c734722ef89ca7f9b44bed7000782cfdb5a200c3a1e9a277a9655f28767a39f9e495dec1e1bb617037b6058df1ac7127ab3150232370a5f2dc482f007ff59665fcbc5eadb27cfc85ffaf1c6da0fc2bcd45e04c038a09526be1689e06771f18a2cdc8e66741fedc0648170210d1980db4781b1ac2968a88df1283eac5f941c56fb5c9fb9dfd9b97abf16d382f346b777f92d9a0342099617e1f6be516d856dcec566100be918c31b31bae1201408197c93352cfa7b68d8ff995bfaef9a1557a00f9c411e5b82818f96f53608cb486d134bcd8ac55cd0e9979c9427abe385dfd50b4096764a7d2b3fbb3bbebd826af4abb97bb0fa75214a5c2a684239686c0bda28d382dab3f293d85ba35edd9e2f22eadf3733944267001e596b8bd36e308dc58d64df4a54779febedaeece93767debfd371bb76a2b9961d007fcb4fa607f1d03ed4ec8a50ed7abe639784569d11787b4e145caceec20145d2ae15b9fd9790589dd2a3612247c6edceb22c7a790d10944acd16050ad6e3de7a4aae0b1c4fd0dbdb8bb70946abf2c95e7e1a6c46d46d98a483edb5e02b7a83dbe8f0608167e7a01671f135b613c11cb307b8e004d4306884907bfc83e0397827146f5101ce5528dd7c07a5d364dcf1857772d7ea518a9847a853ec9e75df1e14fee7c5087dcd923808ded43a63a0716fcc0661c1018847bb327633a1ff9e0dffe85c971e2458b4eca86f44e20db067b30e1cc5f4eed7064f76fec7a772b8239e24de0bc65ed7a48521ce8f9470e5289259c1a93c63251ba3cb9fd40074a66c2ae0d6ab50bc1428ea14a254aba9bf6875885fac3cebababe0abe4fa2c4aa02a83698c15fedf2dc4fe85474c26a9419c8a818515c170576ba2bdeedd7fcc6f318414a4a3d21c9cbeeda8a93420b0edf749ea937d15e3624b9ee08de930510b108de17e126ba03acd647a7ec8ddafe3ca8eddafda604424cc0e1b3229e64b3a8f334cf81062066e6d451306e00c61b0ae09a7457c7a9299acba8f28210e8bf2de29c413c27c06a885f4d76223b657e08e24e881db1bcfe5b6bfd21c10ddd08b82782e1d63f72ec05dadcb3e6f4c651acfb8e108609f37a0ebfa1992eabdbb0d59c3bdfdb6db5c8ee69280855a5a28f25f18c43da954337213621ff72b607e1881bcca05b53f1c48206c4a41ea513bb45197e9ae69064557dda4ab0f2785f5f5e9d0c7b1c81838c5d48f6376a8fcc0230bdde2471a3521ba0cfc222989b336c7aaf81664e3465f45d4d0820833451fa85ce0610dec0bb0dc7020a91f5bfdb6ddee67152a497507c391207b7aeed6bb1f6eb812380b33e42b78d1c1175d9aeef5c67894879d6200acb2aea17c5461bd2909315fb7611d72aaa92a5b1801b6f0402ae8a7a251bc5b7e652861886edcf155515c34306a96e9af5d19d29d425f30dbcc7715490343036ffc28b117c234aefd3e9a210e2248379754ee19c7b24f75ed41e418321a2ee4607e6801bf764f9aac82c13685d81865e4c68ee67d23c02937074e0099461711c5ba2c40f4218f00ff884db32bd6b6c753f352d27de3e9ef39a449f470cc9d5f0a347603ffe125365db8f7ed8db6a6ff3f054b7e3b1e1ba4e3b120abee0d791cd64f3ecab1be0a985f5a04c9bf91566b6af9a0705618a7eb7bd34dc71c6e982fe9c684d2fdcaf5ad1f4366c6b1573520b3a43d1575973976e5a2d8342836da61a919fe291d4e06dc8b8047fdaa591db96c5f708d7efc10d0febd2de603998daa218841c38f38c294f79a058c14b8451e970d45b64ab8cfd811e332ca469c1ad1a703c7889b6af2430b5a9a16efb95767cf6e176aeafe1d7f3e207b92316038a694dc77e4f9d423f023e6e92994bcacc8811afd8022cdf24268c646e4f8f1eec0ebd9adf11a338bb0b76bffdfdba5060cd8858c3861c2020a8367b65b272305871501ce9131ba58f4bee28542651ff43e4b044e08eebdac22901166e5a4690335d5c195d0d895470df40c756e553230fb20485f25e6122c131a1c240a8eeeadae8bd743e25aa7445c4d13bcfc2012a3fffd8e71840a73b0fb86e01b189ed98ffaf53317a3be72575c72b3851f5e6d58946ea53c27a2c074de878396bce0f0a8639e4cd188b0c41bc93ddf2e2bc21f4a6a2a5231612f7cefa0735eaf3fc599c018bfb788b0951173df46c9f57ac58a70364a78d4eed63659e80983ff21b441ba041a6e0f83cf5cbb46787f8032f35ee2d35fbf278ff6b0c4742b0c8e9b8b51081b3db97c75feffcf4793b50a774f9fdb8e1df5bc3b337964677d2e7148e31ea866090136940a9670ff492d88b48d7f5a9cebf32b865381303636930ac76c940454bca3060d8f3e4858b55147eccdbcdef80c64b8030498ce8e15420d1ea46c5406a55c89434765232bab57df4fd145a60191eea9b1d634968e0087083db8bd71be34739261753fba1eb47edda8df45c8bef040b152b1da174b1da36f731cd77a3ed39d6ffdd5bd68d4288c4d464e476c136d3ebd379168bf87ac8ba63a8a6a3f2430af352f2c252a0ef3ea2560870aba83ccecdd0e57ce9859821f0e1da1afec294048a1e22cdd02d5685181998ad20b26539aeb8e8fe02da9f3965583cc8109146ba182b6c8c945bc0e3098a353d07f9f28737fc73ecec7d12ac68f51135a617291d57e57a625bc7fc2174560f24a7667d4106c11922815af1fc4bfca24b625ff6953d8255a7771542d2fccaf74195c957faa3328cb7180b12efc3640eeac8dbac1aa55d236904975ea0521d8b3aa792c8c3194eb15497fb68351b2f662e6dcbb03607feb7c2f29456085d96d4dbcfbbcb2828c812f21624a301b648201d27b9e80862189e7f8e81b479301b4a55dc2aa7732b3460001d072f04c96dc34fbe5f7eaa12107dee5c4fcab6977d65d3e5a3cb2b2334fa2ed10a0ff0f02b43a16f5bfb6d4909b70af2b1b1d072e5c8b0a344ade8c7044a2a1ab9a58ff0e629a2345a9633513ac429ba96b8911c227a306fb23769d02b233b869c91abd605e4d13e92f56b13414e8b29e1e9b203154db9380bbfb66c4548df00dc5f3b13909b2bc4e90d5e3a42b6e4d6e8e1eaff7b319179975ae90e3ded62efbac60abbb57f07c348a4eec2032289ac91476297385e0ba3a9bb08de5894baaf7c6a46b4e04e75c10722dc2c5af819638b8d41c163065cd73b8be3ef6c36cbc556fe87b4d35f14211a86fb8800bcf677a17ab8808224ed0ca780338893612a686fd6d44a1b621096477f6f0760abb232d7bdacf9c7811eb0d87d69452f74c7563c583a3972083cefc8ea05513b87f6d0bc52fcca7d1fa02d5f5f06837526597ea38be7c7a4b33f53917e84e7a46021b85d416a6455cba0646a2e8106ca515022355e72f5c5c81d23b2bc2abcc3ed75db75da3301df758f797a61c33bf8bd3711c202da94de304b7ccd1049d58e13190d56627755ab3ebcdd2922bc162240b9be762247423b434122bf5173147ac981beaf9dcf95f0f28601b5d0dcea36ef0f06be3eaf57a86e0523cdc712ed58bbf081ab9ddf9cc404f6dc3e48299d457c79735587d83d64af69bbcdd1c9654514aee10728fb51ac14f5de78152a2e15b7d40189903e1c8f6decc9b9c22590acfc66c2c61028f2d55609a25e0a99beb9b542ad9b0cd8dc60f5eeea600e8567fdf1675bad45b6d10d4ed8f8bbf012ce632d9d1b73be0944eb9b475a1567c21e22f5b5db331cbc0312fa9069fa04aab947a57d28e7620ad728a589ffe214409284b9ae9fecebf5ef5a99aec1efdde05eb7f2bf80ea66cb5f4580e5eb75e8aaccf203b0e8c29275c05c8ed39029b5d74e20b92dd2b2e6525e7e4e7216735d74f7db4cfb4f76083f69bd6cb2f45a29229e38b54f1e4f5a73d579c23119f720e31d39c119f0f07141c4a461a710e28333583538bbcce0e6b06f38efc9dfe99c826c54295362553f87536ef5280016b7df0652a70368a712e3b0d1b3d73d8266d82d519e636548ec28767b9b109584c2a07e2566abe32d0cc509414b1711c53a37f3b7d218ce3bddcd3ce3bdcc2a7544fdf19ec9b6bd5a35fa8a30226ff37fb679138a5aa53f952b3f8b68d9a7eeda49f055804d5d25b10867d8652290d7e96a0c0a64fad854e6935cd1594655617d4c5a70074b0febf8272468f8968876acf52f1be6adc27bd3e730487fe5ae444b7b6c20f24c825474a95a1a739be1650ead9c7cae41718b131d4aa8291fb2dc45f5633f482b6e31aee9fd0432da9065b084e5e58cad91c5f9835c524b093cac7bba5cdcdb70d2dbf3ca0520f5f0dd74212c58c26b4e45122e583b5caef4ccf202a6b3a5ad0de8c9859c82c397b018e7528acb59cfd465b30577a8d4a358b58d0d5e510e1c61a522a4f843d0e580bedd5d97aff93915e756800ca9890e37275659efd87c6f31466e56141a32ec4c789afb3fa942064caabee55587a69f2600e708a9e58eca5f5c2ed0d348cef955a261b0ffda9c51e70f2335dafa3c2e6fc5efe28229c5bfa7a87361bf6fbdc74731b67003b457616ea7bd30aff832b7d18f4367bec3934983c9363adc2b1ce3c63fc4ac0d9a8e15a727b57131ac6d140305dc69b866e4212c6a58ee1ef5734db31e95f08688e8f8f6cb5b1ca4d9579ee09b7f4391e39dd84b2e7b2bc4e3a1d330f4b29426864ee08b59956d688a61aec981062af97b797b9921f8f881b7baaa200b4050769d8ff1a95d5fd1c4063f2f4aa472117429040f1ff2b50e794c2197d472adaef17c8ad035529593e6bde8318d90a16190efe531f4e1c83d317ce279d71711f3dc5b2ca6c2939caedd688927144c8f51da45fcea09b551d1c906585a7663834ee0d6372d2ec5a41af84ac3690aeb2723517dff02fcca3d30fbe33c8845808b2a1975e098d875e4512ffc527a9372a6fa6df55220182c02f22b39295526c40efae0d14eeeeec35e617a6894f58bb51a0d9c621bdc72ccd8bdd8091290a5dbef4675c3cbdff98050eb4bf04eb9a2159ce14bf68f3408e2c482410dd1ee2657477573acca4b9ac702625c0d628682753f2e0146799a62dfce3ec882fefd902e8fb4c67529baec2434154329e1d95dfc5136b3b6e6ba60da0b48cfc9391ac0b055f7f75ab5b2a0e5eb396acb972bd380ed670ace57fba31145609806b2d90e02b2ceba535b3477071021788e2ad746ca1ab7a682093a8e8b183830a0ff3a40fc9f191d3415d050bdbbc9799ea9b1100471e29feff398d251699d5ec8304328e748bfd34ab714ea534a49da85f173af9bda7a0296e511df46cbf86b61e89ef22e6de5a3b0fb9fcbd7115879d1d84f560dccb7e06f9cad4a1c9332aa4861ea97ed6619e839b302eb9602b2b81537815594bd71703b8272876de20f5b08b796eb5985a095a357fedbc513737b74c4a37d6abf063807f54e14d001de8e78f129c646214dc88f5c21c2185000eb359702036d97481bab9756244413530bb67794f8f2edd7be9caedc86bcf6af2127671ab63ff4e6db943200e01b10b01c0b9fc81f851513ee59afe255387fadebfab57b5a152cab4933cef455700091d832384ae3871a91553574b297ed5ddd3f70d04adeb30e1342214435c305cb34159a357d23bdb2635e2abf29ea68e44f5a47f9bdd4c949d9aeb87cabf6b3917cc6bcfec88bc18fb6d62f3ca7a57bf4a960f589fdeb827f482b9f9b05541da8db5ed22b4fb3da5bad8e179dcb72ef378b7c6db26bd5bf10b797e73cb0cc29c7fd96f49d7d01e1bed6e750d35ae86bbe120bae824a089153f395e8c4702adeb83eada5c9ea678c649fd886f5e41173327c47236e7ddee054bdafe36bcfee9ad62909fdc53cddf2b40d0be68a91d774305e4359701aaa95d438cd4dd0b7bf4a3e38bcf3158e71feb46793a5e0cdc8e27e6dbd7f92213d5fb3165a68f411c224774730e9f745a9eacaf32173eebb198a8643bbb90c954734bdcd473bf0d48ca3362ca6788a90fa34aa056ef8d3e41aae3f3500adc509fe1025bc31b526623a30c97d550c2008bf8798042c0aedf3b306d4090af1944592a5793539df69cb33beb42549602fc9f98a9b9d7d4170ebc210e6217908833c5325bcfb9c82b0701cdb8c9653adb1da531e7ee4024efc26041772a28287684d19db5cc16ccc62b2a1b4642a73f44c75797677f6a490888f473c36310f85f51ff83443450f75333f00a4a5ddc4a90d066a44fa3cf763e65765f14d8e3e417f1bd19a6424488e5912ffb9848b66faf05b732f3569dc254cab7dd2bebaac809693f83005ed6e89f3f49ecac10de6aea859675ead7ca6b68ab62a1324627dc7ebfab24132e59eb9c912ff2cde91fa324d0488350b7b6af6187690835258540e9341d0ee1a8699a1f9b4002a5e5c419f75e58f13231415e0987c9bb9deb4780a887a1eeb33e138fbfe4363b397ac3c433b77ccac37ce6bad9101b9919bf3951aaa0e7c079edebfc17633f18d44fbbbaf85a6f906881b265bab9ad8012be7dd4d6a86a49df72d9d7efaf2d99593395e8150f40ea89232f0a974072e965dc420fdf138f7f8bea3963f95dcacef1894033bd5a9f954e1d25cad40a62f382f224b7714e3c57bfc91233314b3802deee382dbbf80fc90714c741ce9417dbecb9039e945f8edc623ca52a095768935106b60756bfe1f5dd0de74636d0467d1460830542b8639bc1c5c6012857950003c2e604204c8ed674e3ecb284aa087308b21ea6b4df7995c6ed8c93aadd7c1cfbb0f4c6a9c043f8556ae2b796ec1977f981cdbd4c1b24543297e7c0af25aa012010e9e6f503264e8df555426b617ceeaf7536548d983ab897a7e0a5c821ea4efbe426c20aaa542270d0dd692a590e230c244a881b883b61ec3bad14dbee6cba17f81f4fd56290d3ca124378a72adf8ad9f9e2af3c6e29987decb125a74a7c6e2bba7244fc7ebc393963be4062a57ec9210919d867729ceb64f7d540d1d5d82bcce83cffc526801435ffee0205a18caf3cf716aeb28d85c5951dd18d7cf8bf5e1e83f84865ebf6e65bdc75ada2fddb2c06620f15595633263a2e053a8a36ea80cae0ab13e5a96cb34f813bf466aeb6a9e8f7b70df5ed563518b96cd253a4a590bbcf21cdbc7c027cec64afd15e52aa97f8a6890e2fd95354572c4371f6e0d8b588c7ecb832d2911f2bfd03407c01d6dc5757ed68a6a037397cd7d0e1d39b644ac7bf286b34c61b8b605e47522d212a1f7471251ff627a935daea7aed047a6bb418c03e41e674897da32d99b69c959a0a956f78b7c787415401eda1f35ced661905adbe1666a928fd1564979a35b2d3962d551c1ce5d44f3627155fc5b3a1be4318ecc41222c712f56d276d800a8f65eada3acd03982f705f970fc7ddb1233ae5e2c2ef2bbdf3780ee8b42878ddffd2152a6083c75bf55b72d095407efb7dccdca556a5bc6ff8fb71335ff8d944ed3a7d82ff982c6212011c7c61c47d4faeb18598111572f605b66d49d00b3b666b808259bf6db62d3b4874a9819ea938c6f60baebeadefce11df20523e628a524d6ded161bdd2f60a67e52e4f20e2b980111daaf4d6c1db53576ac1d599a659bec0e6cfcd665dd3abe6be278ecf1e22f994e25d07937cee04a1ffe90bd9201d91de25535d67d7a5d1ac8bc058afe38dc46a6ca2b7f467dcaedc5cf4957200d64d9cc058e3bf24bae9151c0a4f60a5fbc2ff1df7a442726b73a06b007048e8a2ec1c4ca775374efaa6e38ff210a3c397e67398dd2e97aa26639034a71da887f0880be14dfc5721b99d79bf5fba9d9cfc35a5dfddf9ca58036083e94e68ed5b3147a46edd5cf2f1d3efcd460790890caaf1d08f765bfef6d42e226370c6a63ca1ecc4dee7caecfd8008bcb4b7b2b6d782415c9af164207d3a21421a4412f2f31a703f30c7dadc40735f138195e6778ecc13cce38cdc13fb2d8dd59bdd420e674ca4eaafac2565b61fb1b6a8f658a3bfe1a318cca3c2ea412494d3b484718ce4044da3136cc597767a8339e772ae43f98f2a1d36b1d228eb05cfe29f4b908cb7a3aa322fe2208e7ed1df22732a72a4903a8c91483c4a6a73711ca2cb22eec483780e63f76509f642d4e607fd19a71e182f49a75dd8ab5a55b5423ebdc2cbab0d8df1871ceed5ba14229a79d152813ddd55c7ea9b3b29debd8b4b2d4a15a83441f82a6e07b52fba99b64753e55aa36549954d2bd5fdaa9e151e441f23187d698ab4a0507e32222b3779cb341cd46d43814fd59b230b16bda7dcb789ab3ffa3a43b68063ae40f9a1953c90d96f239819e2abf63d0a853135a23f031726b794730bdd9fbaa512865fd91d4d9e9c61fa89e36137bc4331be7c94167a178b46f60c5a2599ab3d68999d4c14d91b1d4d9d5c1f7174ad5dfe57a3945898753f0a58d6e81d6508ee986ea41ff56cb410ee6b734637b4c8dd24b8e269d1294ae449c418fd4ffb736115a2a83d1e57daca5af10de77d0cf0c1fef985e44676e6f108f3c83caa0d6efbbb4083ff2662cdfe1672af39d2f75d29d4e33c97c3fef76e66c582142af188427ffb4d99a7a1683799764e2f03f84765acf8a1260d56b35355a38b0835b299d34b34f998bc01d41133bc41017128392dadcacc529b09ffdc397cf4340a5ab7e81f623776455576e866dd9736795c5f40a80b52a4f5c07927d811f34b2a4f651b66772209920c491fb740a11dfdae2e3000107c33083fb10f6208372acf2516a40e1dbbfc9dd32fcf3dfcce8e9c81349ca28817d86e56f3603040917690b0a47438d29817f36b190a2581e7a3fcea4895cbab6ad2acca089252fdd2bfea22637502896e011a88d2403ded83f9a067c8172300e3cdd1f10c5f3be6d5123521205d86966f00677f5d589f4cec5766c74420cde42b88ce0901188fa32952e404273f4a62610e77e57222e00a56bda0bc39c48de96fbfb54a6d8a255ef9c73d67efac6fa23a760c1553cdfb74bcbb51dd0f727ea58aaedbfabf96dddfc9cef2f844270268deeeed15da525e775a49fbf5f6f312fe20c3c272a08c919a1f8f60e763156f63a508ec49a5d4ca3d5a8999552562c6058d404db130619d21cb56be4d2c60532c48f5ff3d5c867ca68a86006b4922bacbc598b4267f6fc97840850fff307496441e546847c617f94a223c6dcdba2aa66e7dd71a0b92d09f988dc442b78f5b1b2a84871f4b66698cdce033f7a76595337f1e857c311318374947a9934ca531b1c14df7a6ed0f59fc97064686e37e1fb42a2ac898ddbf68b1763409bd6fb6dc8f720321f5831aef8402e96106ace14bf82ccc3337c1c9bce7f908a5b8141d4f6636278d179014c77b334577d42d28eea6f48680edf2065cc0c3b066c8c0d9cbb301a5b010a8f9d6098c189cc54f22180a3fffa2ede4834117e18b853a833876ee6097c7642aa93a03e0ca2387a84d0f0d1189b35e9f9dfb775646903b33297097bf9d494221c3641dde223c7ef77bd92b1f7ee4feff19950371da95e0b7536985f2410aee2b0ee64c60aeb9e16e40d980e8e91314e16f9e28ed964d8bd2e821a1c9770fe4632a4a1141b68b7270e7906b975e8dc7d15ac972c306b0590d4c73b2ef7cbb58ab00511505d8e32bc7e848bac899bb4e9a4d40998e0e96f72b57b7fa4c421e33b2e8e5e9991931f306048287fa44b0ebfd156cec56c2d4836a21e4d5662ee6bb0a0206a96af3a80d802b414f4903f97f23ef4fae51457b98f48baf8415f5ee004a4ba6a8ad1b162e0de1a6afdf8a73ba12c1897933dffca1ed8f6c7b6c4d76885f07634c6e9e2c427447c5605d1f4c11d1b5cf98fda7078b7755bcb2478796c8b26d986f3411986d4ba6a716216d794301b8a143e7ad1534c31f7e41090d6cf9d952780d5ebad58ad7aa6667a5b6037c8eb7a0806cef0fa14484af3c26f1d55cb9b53adc83762fa3b135af262f09c4c115c5c86cdc9775d89fd13abcb48c5eca2357d76ffc4a061ba230073e788730e1d81acac9558ae7e35b3c7f8cd81c010215b1468abcca7c64b155fe2577245c2ac683887d775d5be883611fad0c8164fc5266a248cd8aba7ce9ff5564f3ecaa18ce233950f01486f4b3b2dd029c41aae68f7dece7b598cb5e17143fdaafdd8dcbbfb3fc1cdcb7d985e4ea7119b2007ff7d401458b6394e6a982388799479f8538521bee5d541357405fc3adfb87eb36dd25993102de747b35b465fbb139c87489cf0e2d5c209ada58461659a9bbd27e223dd7c22e5c83736457db2abd41acfb507c1a695998e3f559c24d98c6fe6c1a2d26c8bb804b9077b7ee5492c0c6d95075fab52d902213b162cc21cc6ec4784ce68479e3a68e18166d5479fc5a3b988b5de4b95b4849922abe6f0bb5fa7f82765bf0be672a770f6b562335bd6776ec30e372b3da332009564e4cd2f7c79c8709c0541094c93402d0cccf13cdb70b994936571bd9664f7de4c7c95cb244e0af44561820383e28d43f4eddfb6ca59b58904433cf177af64b8ff7b5ce0e8c1ccd1140b3a49c95360daae08a66716b5e63ec7c0c41ee9c4e371751ca670eeec72d5a8f3a59c45950fd21d86ca113f7ff806b5acc75488247590c70c064ea11a627c8bfd475b6db7737c8e73aedc539332f8c90e3c651f50d592560f4c457960ab7345a57e066d8f8c42569a088adf6e54b7eece3f561b827531cee0cab06d9485da102e2922561a1ba81fc087337eedc3dbc4d9f25bdcb53a34dd98dd2bb0668a79164b05cc6b9031f1c0168d5735ab083ff0513903fd41a87b1afdad271e3594b49ea98ac8f5da950ad0784fcf926d161481e861d7c7161aadb709d0ad0814369636c8e2e8bd5b0569887f8d09b2acc11911d71e2e98ec90fb79b8b5c8844c19d5aa5f67a59d44472af414cb4f385b179f8d7c33b2214f392f52e41a9137eedc35f3fe3af8abc2608b4005120cb01da724529b273a9b56dd6f2d48a49a3b038a967fad7b85dfd1b13b72384003f99ef34f38872d192929251bdadd2ab077839b22660922952b48af303a7997b5d9e3590f08675463dbaec4f05852d4e8434e21c28a38514f73f2da389d053085c3fa2bde6701010ee45fc7c13c813621cf3c05a5ff9256153194fc608a5b5b790fcb263f80d7f19b65f9df878df4e019b72c7cbb025cdce118a65913ea0046c9338bca9c1439fc63cb2715bb27929516abe9e1d48cd986ac30b8a77172fe99a640c19cfc74825e977d467db140793adcb1bad426d81dbd90d619e3465dad048c4fe30f280cd59d1ad7add9ac1fc14437b8f0dba3a4de858055716c45ec5410f601f1736f9b65bbc15d9390bd07d5d0364acb01fc95e49ebb2d189ac25cfd0f6ef3f08c9ee9bc9ee335348ab", 0x2000, &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}, 0x0, 0x0, 0x0, 0x0}) read$FUSE(r0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f0000005f00)="4ed88ef6f971ddebcb2d85970fced30d60ce37ce03b1b6dcab31d6e4d9e84ed7d6e43289be9c65a37254edbb46b85cddc96d26184d0914a27ffe4ba441c6b79b251c420b2b2c2f63624d180e869052798b480701f55e29c556f304fbe567bf5813f71a685841d0f345fc1dc835982d44a5149029727d5f32e2659dfd905af3855f37fe552cd1a690335b5b7e21b8a43b463a43a55bc764d18eed175b218dcd94eec96d753c350f372ed4a1b4fb1227d161b3644b42854d78a7850c8e4e229643842663292f9dfbf74b0c408335a097b8ac3bd59244c58e3af3a354336cd3eb9fba00bb03a35227baf92d7ee1988de903f6471c27d952e38911cfbeeaf4bbf74cec8837b33e4f91d3704801480fe8df11f5f775de272b15ae680be807404f2cad30409df39167a7fc7887567f6fc8803ebe6a41e367743b3e27184f72ec6b94ff6b650fc4b0f5b98a5f364f929a25a09e73c8faea7dcb8d1b36bf2e30376742d90c1a6883494548a48361dfbd9b84d00d719516c4a4089dd64c57db3cacc575e9326c8032c4777eacb231626a54fa5649e54ddd232720a13166fbd1bf8d13851f8d573e77deb8d7fd2749daf95d80c94930001af6abe9346025d86c47d2ba16197c28f5b6e3d34341d4319813e15fbc05580aaeec3289962b294ba42c4064d36519af2ede4bd25efd6c91063ee748bd6da074fee1021ca19568fc4770053ca3e38b5117d12b42410f41a10d1860fafb1df37dac10dec1bc20aedfadbe72cb8477ed2803e43a6207329c38e266263ae3492f9beb3a649ac6bec1bd1c46d8079fc4111d3d8bd6ccd0b08caa7fe9dff180319d7a23abf41a9f119e101ab54f4408ee7602bef45c5ab65948bc573dfe0a75a3a843e86b35ff22f3d65945b8a5e95ca6f1a41ed56109ab102b3a1322f508a33e575984ce3bd91afdabfdd5a4310b957b66275809505683037f7e095850df8c1067955933d6087e2ef12c44bf601cd9dd414a6972377bdd7a5c43a0a2e0ffffbc2d0d516833420625a7722f286dd5e51b3c5760dabed81aca8684cac5e4e4a0199f5d5489a6afa3eceb84ec27ccb5dcab370ee93b161153d06909b043832d0d0596f09c595678bae9954d2f5b3bf63e804356a7dcaed9b9072cef63e25f0a8430b3c2ba48a9c89dfbd6f16c4f3912da9e4aeb9f8e8c8c54c0eb409eb5d3c10b960c2d4516deba55e1804a9573a4d73d6dbad52e62fa85ed0f5aa0592a9d2e55fee5ece0e61f71091e6431c3988d2ab8a5e446377ad3dcfb9a7b2cd9b58026281a10338786499c47d3287aac008d8a080fa3671d35c3f4637934fb9070cad1a909446012d6d4de71bac2adae40bf93b9992acf18a2791ead018fd0e9e043312a4b72570e0d7ad5512ad237804c6855e93128ae3f16dfb2efb8560adc8323c31eca68197b87fb5f0a81c5584457d86a032d71ddd433427dadcb36c57d49a896fe0cac510494244b7279a8d65082fe9946892d8ca67f2d9aba8e1a2d6110bbf7fb978af143d9664405e353d01ba347326f9edfe1a1061a07c5098cdd305497f7807b1249cca1aa2d22bcbc33b1a4f177a496e823fe70581fca97828e63f56d9ff431ea66e60d24b6a69cee085ecbf521a64327e9d11b4826a4a6564797ead27174e841cf809b149a9abd589773b1bd20ea39374ebe5e521a4dd47ea7638cf20dbca689c712124f630602894eb0e0b4d2bf200b03546f308b37b97619ebac4b353661dd133b4da29b12835bd5888fcaa0d81bef902d6f1726e67c64e55a75550b94418aad7c7bf0f9b09ab52cae0d8eb93f84f2c123cbdd7e628900cfb19437657a6bc3cb11ab3cc0ab9ef77b84de6681733f5615c33b1002c6cebc49793182fd5574967ff4dac233bf62014a56cfe5a11238eeeacb01b1810e8c681d960087e74c0ffb346b47b5bef4b18d7804fc0973a2b789fb84e3b3fdfe8bc66c7634d2ff7c3a87847d55e813085fe5b1e99eecac1f3788914394e7ddbed28b51ebbed57a525905e1317ae3e6217a97c397d0fcac0fbfd3e15d0c28695a86fdf74d4673c8b7f7667c649c19a8fbcd1f131a0863307a767cb82a0d983d7261a2e2784e0e0ad1a50dece973e03aa99cea39b279d704da1aa7148e0e2a9d368db0358b08b6f2bae94f7716770c5ffa0ef710e6e7005e1a38a8a8e2406f5372e496469c78df38c283e40597f8aa4f392537af107127f1ffa53adb6d8acae9c13b6ee15bc80f90cce59765233e11612c98053c95e1866b2f7d23d696d38cb2ec166cddcd7992046c7b526971c661bc02d4e5ac756f6a8b15beecd067adc562892a760bc2ad9207804f088d90a92e2577a66216ef75cd1888aac72d04aaefa3a2238d46c2a595e843aa28cb6ba9d9ecc012a3a7f433f04518313ba7e74c82a9efae57c7172ec77c2721089f83083a4a2616b9af9c3fbd175f9f1a65edbdbce33f7d5b820988a8586165dd62c64ec43ed9616a00ae6e70b54df88fde07329a84e100e3822384ea4bec1ce927b0a2a8c45b8f2523e64829a12cf2370dd66991593478b65a9cd9f5bc04a4ffbbbb31a37656fc324726514b9f59cd873874c883e108af3f235c5ba65d53dcb976290f25dc6d1d11f6712568e7acbc76c4d43b64f7de917e60b2ebed1aacba2a9f5186cd3c4ca2421aeb5c32d2885f3d75354f45c34502a39641add4e5f6d889fe7ba36d710180a6fbe9282f0547d664ccc9a0acf5f433efdb477172238d1f2abb08c6deaf05a36de315a846a8203295f4cc1d2ae879282f39a77c1a3c541466a6ef9d0a775a7d265cc420a26a33b11d8d82370638d6ec8330e36e3e3a52e62397bad6d1c543242f4521f534c78fe9f720f7ad2b821165b355be83e8c20f53dac159ea18bcff78c37b522031fa0bbffe4734d80c034a5986726a5a10e098936f9baaef118c26538cd16300097033815d2ac8536f16d8f8dfaa95355b1d4466ba70ab55032c7df3e9f19c33608178fbf0478453ad5c6a1d529cff271823d0fc338d3be19b5f06d5a26447b249085255620ddfc1da3f21e3e8df92ca94f5566c64d56ddf9e7ee97db2b407689ed38a31b4f688458d2fad6f6101c4f9b9fcebde3b880ada02d98dfa6f85bccedda2a1b0f6c08e9578cac571813b5da8acb324739b07bb2dd92dbd5fd5a5a8110730fa41e4ce53b40094a2d189e90a562722ba3c3eae37b15d7ddf380373a6b187c7e419142742a97973e9d06bf1eab7dd7772b8b462c9d19aec94b40ca888afc900f44afac20ddc94086a5740daa91a9d591c135e814f6e23321a040823b12771707fb3f85d5967d3510a82d6965a0b586ad510e323788c92487842f98d1806eaa816d445c1a245dae42d61760d76877f4c9d6123a0ea2d1709eb8f4139e428c9441607090af6cc3acfd7bc303f3e3d6f4ead52101e3e8337303c532a0e30de69edc3dda4d99df1c1a72e28a00e10aec6f1af44a7dd06ae22fa4cbe66d2272ce066b862a210c36fd2e16a0b5a2270aae88a5ccb5047475cd2c56c088c6c97907a341261e8d15601f11f3061f516527df6fe08843f6071c026021448cc7212395c6ef91f08084fe3a651b0ce144be419d415e60ed41dee21587e1657b4809a315ffea907ad817ff4b91314c4eeb424a3ec1d155af0e9601853ee8691b404fa4c85d00a39a1e1b855a7fa1e9d35eb91f062c457a34bb3332a2d167539c7f78b8ed2e854cc30dbd0a40fa3ae2b97b71101c8fafbf0959eacbb02da5df1dcc82da7818a0b9ca85779f63162627202ab93f50962d886a3b4f908596123648e933f47ada2cf0a7cd971ad9a0f281bfebf438cfbae547d4d502fa11d3e9a17193c42702f3eeca08b2c30b40a8c189f5b65fa4050b162ecefddf15eced8b60c70a2d4bab23bdfbfd83008219bf3a954e81f372b86d0a1773656b0f480da9ce215fd7ff051812fbc7bc8a6ffefd371764a906bcc35484d35a713e251bc344b2054d019c2bb75c5ddcf63b267eb1ef09792122946e48371450e69af59217772ea6997c62cd3e75ef928439e61acf5c00f7abe5b226e3f0c49e8d89315d386332111db9d19b746dd6bca8e5dac9e16e7e12bb2af690645a0092ffaac6b90a457bad32067da02bd45f6b3a37b40c36c319dcb86e3cb019d9e6a1df8c69d294b676a95b4d305658815d0e3fd1ccd5963e3f9fae89e98b283b2b32ef56603f6125221a817c52e341182993ef09609854ba010258fc4c1bccd9f0f41755a48bdf61c59d93f8ec38466b96cf6e6aa2b2ea695e74baedf44085f8ef0dd17b34052d747d36318fda11949ae4651d447719bae033cf025ac45e201c5d6998176c8fa3c91d74972bd4c32eeaaef456b82b533263fa542c47a024c1841152416bf842d58277c0429a3a47bf6e55a17646aa17851d86800bb14bc2adc6b9e599a04c463c13e8c828cf8b891685e155137bb39668355476df5f4712e9e55b288b9afb62bb46d9c62c5e40f68b04c4e8aafef667ea569466ef8c353f8171835df14bbce2f4afde6a2c6d2699b0cd7404cd54e6d9747e99d5627a435c9bc2b6183162849e4cf9dabf186777180064fe38eff9975a7a43de9d9ba188e2830021838ebab98e3e23c7dd95337454cc8694867bb6c8baa20681e056c3598255ded5c21f0ee048d510a247a8bf58de6d76a0aca4fc54d507bf34593a6a4f84f6dc6fb97807565b036c61c793295db83cea15102ca36815512dced3d43b20efe95da99cd37ca518de933b047177e2d3e2bd71a452d385b78d6ac0f9b3b5529741c6e1bb1c859ea7b1533ed667fac663e5a98e666009af497d537881ded582d00de9d06283489786db1a4a91886b8b0e7f47b24163b219ad41c4c00af8b0bc992daf65ab73a0810ddf18fd3dd3425963a571040797d7668c4ef5978a4fee941a8a855bf18dfeb21f3ca69fa78f3415b7ca628f6efe0c3c660cbb0c85da0ef7eb6200f7fde3a6a2a1aff5f110941941a4b6d26b6bbb32b6f0515800804bd1e38e3eb3386402d5895d6128afed2d8719b203b2dd05a3dbd4767704a050c1823a810998b98003053bc60a29d9b5c59d5d90ad20705ec2d8afbb05147ebac3df452a923dee2c65c12f377716cb52dcb073775b702d17f7863f8f723d07e5e275c878ccc1cb532f96e8a33bfa9102898dc6f722263bfeff93af5997f52241313c58e6704303268dcc8943129ac80fadb3a8b1baacee271aae9bc9ead57e76e938904c8290aa03bd6c04ef2fb985029522f87c078340dbf22db8162b55a908ff2f15072a6f56adb7e42da29027cdb059cb67ba907bea7f7d41952a44812d6f06d6570f9d159b1b09e97ee7bce68128d42af582e026f9a2ecda0e9d08345ce0acc948d3263a305ca77825bb903fb23ced626b944ba2b7f5c8e9af0ddc0afe126760e3b584c9cb1e68287a116051b3c8b8489a3ae607d199799a6fa619e8c775575e7fe090cea3ff097c66eddedcf213ee483401a126c459e33e8bc13e090712162632d94621424c16e7cf04902474b0a54b4425ff6d6e604f747bf0626043db6cd912cdd391efa3f655eea2b5f9bcb57a8ee495d095532fc9e5e1ea60d16e9c4ade93821f6449b1a3bfb77a6d25d9ffeecc0c72f9f4350cd733138259f0a348c7f7ca4a42e93e6d5180d579696a3c1103b5830aa0b8c5c6a7672d9af608b9ac95ecab659460de6dc814c870449f22a5da81d4c6475f56fecd1396b0ac7ce189e990b4232255d26d436de7edb5f5722033063cfe443a41d8340df464b137ba021b818cf629a7a435f48b08ebb46ba28d468d28ae280438b92a948e76dc7cd79dd7b0240c4bedf5b5402c4c1f9c0b095b8ea90336b2fc2a5f21c07cc835ef5d3df5c1c662b4d99ad72f6c8becf9edf624993fd8468c2326e627eb5e461940754642dfcc5dcea8fd61658b4a862a3c261968ca69bfee43e0a28ca600f3c734b48094bfa976d3bec1c8f0e92d58f12c243b5cbe45eef24c7c4137d33f39a7751bcc65b744d934c55754a3cfe64f7cfaf32cc68eeeec707ed83df0f0da6d6e8bab6d4d5c9c034da3ef439330aa3035be1867504e9e66127297f91c63eea345b3060bee7ace6756e153145ad202b67a318f86bce20cbbb67321d48b0b7403336f0e615f480d675daad809bc61a0849c7ee803dd733c1d720417117789a54d7cd1daa963ad8cc5b3b32f4292998c3b6d6da5abc8dd4314233580d28f4eb94453f8eba624d77c2970f358d1c7477c1cf7f81c3a90516612156cdf63c0de6a57e7e7f05d958ce56d1047318f1e920cce97dd193d8edd0ab2559032770bd521546ee1a17d77e8ab0a8e8242ea2ef383efc0b94892c8d8b15aad9818a4f77cba6b62084e4a618f879c004488832906d7df5e1c25b117b9dd3446a325a6d91fb048bfc0c66005e95cb27e6022de93efa390672b4115ec31e27ca8a0d3a939751b1b11a44a5335f3c0bdda6c343ba8c3de4bd92fb2f4d7eaedc86b9bfe2a577e545cb72d7a477e772c4f94e4d083655074ed6d6f700216e252be2023618f60ea0c969d462b8de088e8c08e5071ef363009e9dc9f87b53b4873c4151ab1fc56295a38b84ee78f3c7d00656a0592d440773c6f49c6191eac61c5c053c2db9cefbbbc3d44a20a27bc2d579fc9b9a2d3eec9ca2ec39a7546dace2b0d7159005c23ad18d93b6f7ae0fdb2e956904b55729357e4cd6f684d20267b2f6df6b8e174baabbbc9cf1de73e649f3b7634486f38118369a449582ce78a49d613bf372aa07e874ce12fd3526880e407abdd34149b221395da84d5ea2f2a6fa93b066f02bf7494d37ac51babe5c595b8b62b7a79d49256ce1c4745ef97118bd2c2fa46ad7c0ee80d85c0e4fc18ac1cb4228db2e091fa3dcdd147ba5a40d66d63acce7d22d1744fcde36918cccd6eb2e5a0520f76f4b01b2a3254b5ad7bcc8eef0b4316498e4314e34face29b662ff9afcab5682f0cce68efc47a37c5a4613928b6e88bda2ddfb47a6fde48277866b9d9236b3bcc880e804048ac2cb5d7aaf84ad9a3e0db1a6d941736f0ae43d8f46783dec0909ba2f5bfe87636d10b33be30c70c8c212de4c15c9c38b65b1e71f792a490515f8ab8cc26b8a3b1db58879fdab140e313ac30168beb519c49b5c2647fa6f66ae0c649427b45d4ce3910e1459b965d4c1fbb2060437804bc26535217c56a27cd495931a2f874a4241dbe74be86e0665e341f71514cb22014858041269917e30772d9c672e6c76ba1e69603d289410ad5a359c9a1aa867da21e2a502a232fe20ce14bb6b127d0250eaa2eb90f412f9e4135b8a079db264bd6af08e36f8d3cc9678751e2522150bc7f5fd773511dc20b66a392768b12b5a6e1e48f341b9d88cd9bb90f3f8e54a1d7df5e5a3e5ac967f956ccbb3d720b26ed8ed7aaa65093b8c92a15c0015a678df3d678637f11682b98f9728cf1dc4ff890b52e6047a0be9631022ef56e5bfdcbd5fedf79cad3cd52f8532cfc6a747853fd55cc0314a4f76a7b0a85e79af9d0aabeec019080808f7d184f6b4ce9e65b548144392a0e942ee236a891824e785510d76d095679cd373360d0aebe03dd6ec243c21b4c1303ea0d14aecd7c20f4baf10b88416d1a8b0cacc72a3223584dcfd7e73f045f26e7da252e3efa4e7bed47850b438c4d44bfc36e26411fa0b05b8492a530ba9ff44ec8075b08cb1a4b0747f77d81b6462a6f4250370004f360da5fa711916b78738015404fbe57458cb448f40d513c3555a18f3a573ace8a837f4c380ae09c1bb8f14069c9f8ddc17b58ac3d8b933c4367254faf0bef639403163db73ad671ee9378c132e101288f5b5acc0462d88ac2c180d9658eccec5cd522c66d9a2e1647e074acf0ce242fb4fafab4b1002a0b93be0cffc10e5be5a0452f01079b6d3fea84e8046e4db8db1e32a9ced18b625f6cd83f6b3b7e67c67653ab148dc7327b7b5e1c61c784c06b577a2a8602841f2aa2dbedb53af0284afd82bce01c9d453e13c18a21f307a7e07b65c393a496205fe594b28e37613dea1aaecf655c4131a6de551a29fb2b7f9a4143b8d038c6b2ef3f4e8b3f2e558f283c6b97b9781bf312076cb3873567b9e9db764791bb5908377f4b0cd11015f31810e7374ac6962b7b8c5f88c171374876854bab5f6146b51f552b0a10debb0fa17e3b568ee8142aac2fb2f4620906934155e63476fa269aade53fb13adc9994939f0a7e0062f65757ceee5f09970137dc1bdb29c4ae3ce8885492a9eca6579aef6d36f611924fd7d4b1f441c5b8eb141be70abcbcf4de13d0bf0bed13ad57b045dcea72925f96b9c2970d96d59c4dad5d24c24166fa8c96ac465f1b7f6a2ab1bcc5cbf28e836840223f57c3583045761fe5e763579f089ed5ce9441074a3272f4da61b11814e8cf4a5e89c3a4c4d002c0389303d03cb94a8810ab8c4d8adbca2d9e2ea28b13fad20f0243388853cd130b59212688b4f06d602c8279604e5fa9dd3229362f78fa5d575e672521ff5f003183fe3ebc561a2268c04c22e6f7b246e936d0c03df4a1f14513a3e3117be78619fc85734dfc69da60c69f0554a9191b96a22035db989b9203216544f18a8ae0da105353621dc4228cbd606d9950d1dfc25f9b1761df9ec9044145e313a69f255c6ac5d333ad258c2b4bd743e0d1a84ea82f0d3863e7cb4ff26427cd1004ae703f9127b686f538117c9427e70c546929fa324798aef128a2ee8cbb0c1c3d9e5a76b7b080a39ead73e3d04c4784568c2b265514f86ae30c38896ab6a8af44f31d8127742092a377382c229df4ff232c967913d3a791977f34b5d62d1d53d24b3721a7c8b4b50f331584eae00873888c18008e061133160a2e7121b6b46c77f640253305bcdac5994a42fc00f55c933d392ae043638afd87b100cdea662e02675c982cffb108f4b79120939ed311670b0fb275843eeb59ff7be1dd8a164acc52f2e70cf9b1f134a0c3115e2e4655177da2f1c157ae1a08394fbeec4621dec09958550e0aea88a884ae2e2f5b66b1dea640a397b144bb57c7c1abee30495cf774e9949e5384329a72793532156299a999321f4a0f38197d4c9fe05af3218e0d9c3545d56c1c36ebe9a0f7812697a263c88dc7bdadd222f3667225d82212007f7a98122101c1fd4906dce78547ca4606f548ea7baa0680396d39df39b973914cc089cb4b654a921e3e1b7b14f1ac878e9407fcfd9a57382d4f5554dcbe3838b8fe9c0df7f15db03bb4efed1572be0eaeeafb1a86f41dc1b384e398dccfb5ba2c960d71bde423a044381fc1ac5a37f0f9dc94fab6df7ac4f3d6b69363cc2736ee8a0658e39c1cf3ebc75fa86446ea649a6620350043193aeb92081178735045a417af26f0000404242aa21ffb0f2d299117728f25de48ef2aa9d9c1c2126ce29954b03d291aff41253228984ae394e276030b8bc4c43f2cce3c859aaa7716ed249a6352729d7145edafc94d40c88c825fdd6e84e0eccdebc5b4ede24d644a4e419924e88d90e17f588f91be0d2c12e3a8be22b72f6975b9c89909311f5267def47734da1222310bb84ad9ddf720b5c7fa66cabc12d4143bbac12c9836110dea15d91abfbd8e4de5e59123359114329eb4d424f112f05c40bc744e4a93ce21f301cc7c128ea786c148fbb10636c1ced8d6c31f21556575cb1f88fde5fec9ae1a4c210e3cc36b948a08195b91736c3fafb3068a945ef4cf330e0a38815f28b3526ada9b533acd1dded425d4f4226dcfe372ed428f7a538af19bd52b600a612d3f80fdafaf8ee6d74d96bbda6d609523c3ed990735b168065930a113f612512e514578fa087586c563cd814de3b8e0cc2e6ac78c34aa20a7898f3d6ea58372a75d2ba8327c9fcb75767073d31d3db42618e4823cbc99c24c49372a2b7ffe56790a588252b10aa39c003c31de3b5681fc116836967ee94a4bbe48482b34c128aec3642fbca0182f1af0156bb8adceddc371a2a390c86d8fa1315c57c70b57a324b2095cf65602e4eda547895bc3926e1428f84ab6e7cc9537b02e82dafabfaa530ba9609e6a96900793f92b0412e79b413cbe441e0bc71aa3b1c96d6e384fbba4e8ae5f048285aca50ae7edf75df40d27524d55f51247589ed163b7ceb1c3d827fc89806f0063adf3df39ab96d7ba4252271c15f8568f09abdb244d4f4e2987cc024de3f1eac1ce6be2109049884cfcc5c8c765ae0a4b9ec1a0f5c592b6670926704609fe8c34be24cba4214d69b4b09c3864ae37685ad8aa90204a45952f9a96bf7da4bf65c79903717b6fb266538338ef1d641e178539c06a3cc1dc78a26d6f10abdb99090c6a80295e11957c0d4dbb0ea0c2b49d9ce60ae0b5035e0602091c051ad78c1e694f0ef9b0ee15c4277a96cd602c0415bf889ea64e40ca7b260a3d08a02d14c90a0d90f00b0850d22b75725d72741ca14eaadbc25525b33a23f5756715c8f3cb8a15008942fc930f5c825a59ccd3501772e1ed617f36388b1c2600292eb97873c9de19d7dd24ce058382a10ecfa8a1b465e969035837919591685c9e481a42bbc21383b3e47fdec2ba69378f08d87840ef90f169ec5911a8b0f05f209352b8d8c7697d95d6dac9c52426fca95d889978efcfbfb0a0df9147cae1e01d36045db64f3226415bfab7a63a436e745874da70dddde244129f65c4c781e47e68076c83ae4aad9deb8aa585597e9bd9e838004329b3e41f56bcc728eea49ae6a6d34f4469026c7b6488109bca2821f087478415e0b5884613ec6e041aa074ff5fc2ed1eb95b98dae81c7c10fd121ba53f36ac0e0355bbe948364d220aca48d67d2f1434d059aae12e1dc38207e767280aa691515b3b466ce119f7fab2713453a6b329630c608724eadaf9caf9205ef873d5a14518f19e485aa82f7dafd68e5a6f5e0338546d7d623e6c4a7930e2a51ae2662619d665c55d1152b81e8e5f41e5ee0d6afded949be947e3a715a5d852ac7688650031563ad15da58c8d9d4c237629cc88fd16e39ef95c47a75b8a2d090c332e6adcbfeb0d4a8e9b38e12e0655bc585a6f9c3f39bff2d46c27a2c18d4aabe40601b8226ffb93538e410c9e8feed1d3e6c444f14e7f8830a4268bd98aed0f94ee3b9a2d13928cc5aa2d303650e79fa536bd5baef42703a5c652c197539f92536dea625889b5c59cb4852e8e6c32c780d84fa868937f0a0adda24a7fb5d8f9a921cca12adb4a6ff47c13d59b13fc81ff86c50aa06a25075af6de2f65493ea48fbad8e8eb9b16d575a5461fc53628ff2588aebb42a9f1a950bb7a4af31233f0ce7c0f41e3203fc287f1967e6eb659bae3d631a02ed6ff1849a45204a0d8a91eb93e24eddfdaf61b1f706eb33bb6017165ff0c3eee4b2e18061bab00004e4af31edb70fed67ff6f720eddd48b3e6bb511685da2ce0439ef1ca6d6df34a65856e84d09b5f3d3093ac5bf604d89310bdedfeaceec9219ff5c27e1d4365338b294c6a6d5fa404b10f1067d1fbe17dc9981303e2948acc4354fe778d40578394d540147fa78b29914849a30b9b1a438bd1f7a9cfe188acf617a1504249eead1a361aff911b696c4cb2d5c6d20690ff0a9c8fdce87625b38756bee80517ddfdbd1473d983acb5b03", 0x2000, &(0x7f00000011c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000ca80)="60031a38b4df82f8a995a99c6fc938d9d73b7c9630e1cc1c15773ae15e772f40d08651e787e85686b8b5aa880344e103b7012c34b4f7cdc409e64f62ab8651d1bc18bde8e9d282d1ab03202b88f63274482a2768d4dadd44418714ef5b812b77c0feefe396820bc0e5f6537032d072a3c3736f6576049b20d6b93dacf80cc35d4e0457e1454bb955f803cfe6711ed6d9c322c6b4fefac53c22984973e57489e6cd65bc84354268875f83879bc069526c57b9b37a3f66f9e54674445ae02752fd23b7bf14fbeb0184c0f8ed1dc99bb3f9a3213f2ee1fb8ff21e47d6ee4d9006ecabade30eff60c02865247d8412c557910791ecefdc4ea2205de47ea93659c86d9314323fd3118f8b6dbd446070de5c3aaacffe65fa950cbe41a1bef8bcd4a212a5868831af0d3b4275b40b10bce1834ac4ba65fba55b4461ae3a33477eb62d5711999a561e064832ef0b4a009193625409cbde9e3394da031107c9a8a68195d96bc6863e88037a7c6f78400374ecdfdc9f10488d1194f149ee13507dc9148cd9c76cf72a64769ccc88f0ae6c8f0179f172e9b476dfc7a7594412a5390de950838f5daf8c876a13196044996abbd5266d900692c75db69c7e2a9ef39ce29c58c456ca8d9693a0320efd0e124b17f7e05211fae7d32f00078d271b272df66c0900d19999ec0c58cb61881bfc34e36a6b7d440fef260660aa170babe7234a105e79fd8d2af124bdd0650245afda5116d091bcc6eebaf7ada16f18360e4c8961e4cc3ccbaa5b1d0a872884ddecff79a7fc2631cce9308d578c358fefc9677e097396c67e7b0fa2b12a9dac2fb011a74c16fa34604c353a552b6556786a6d2b1111c2572304927eb68c8398baa43872de5b6c14e75cb61f541f90f3aa599f7ba42daf63f1f8d075681baaff989c53c2ab1843daf4a1ab22313ba6b3d85359f2e1d235092fd29d486299535d643d2d30405e98adb7c6836765af54a07534f5ece74ce66b80e92849697682757e0f256c54401c37c630039a2fc009c83abb0a57da542f5769db2c1ee956ff90f701994ccc45cd23984e98e6d295edfad28ee2a96d5138e3019424686ee8099b9247a88c9c7cb533b00769571da317da47a08f01a414f3487bdbeaa5f83262680653d8e73c5a87ee7cfa8b57adfda6705acb3a908093a7d415dbe8914d80f1590d74db2cd69a7a28b26d575e44d288812ad9e76b70baaa0f669f1f47c9e099239ad8db4b884bbc915689fe288a75cd2456b3600c14f100f39d180bc35a969544ffba1680feeef16ac9ec9d2bbac9c9e533e01a09ef0329dc754abfb16a642bb1fed8e4ed5535dc01e8ce05322365aa5b260de4afc51ac95e34f54e86e1e21ecde178a9e1cbc4ecf6b40dfbbd3bb26495c5fbd839f82d08892ff0947a37fc49f976a64a0cd1ccc7180bdfbbf3c6429a1235300f829c4fd52bd224d602f9ecf632933d4ab7cfdae13e76c8f2db05ed13a88e2f2945e560d380c0479b0a8a2ca025ec92b787e2f625ee2f4e0bebad86597d90344944f03d2c21886807e4220e86c26c8faea5fbfed8b7c33be1493b658c9d4130beeb8a4f980852a491152eaad5ce31042afd3b017670fe2197cde839f9cf32e6613c305588883cb2a709b0b3f9ab11552c08093b22cddccea663508f26850e663920f394b56fe5d98e4f565775f99645876720ea388a28aa8515ddd0baa31c6b04f5ff188d00057b4cbcbea6fe65005f7fc30a322eb0bbeb14a3a671d5c92780f34d0e7b27ddef848363d8e5b2fd3119be84513c08fc2adb13c6b6ddb0224cd0992cdf07d5f6eaa9281e8c1a9fff4f63614fe035fd8cf1558b3bb14e8c6b6788293103b64661289f125b51876291b7b49b7d85019899b1c4e1cacb93f5dbe0f7ea92dc114d8fca5b6df441ac17507f2980168abe60c470204ed97a0f0958504e381cf634e1d94ce8a3503245011fe4eabc5b684083490fbbfcafb845841c6fc106ce122f4af24be8c790ff4ba200220ace9e97b7440482c8095407572354764be5ad9bb10f37a8c55ff3e441e933f9e9920fbb6ebd68dd3d37d321dfd9a0d27db1f721cafa9e2a48f24ff676f3547bf7b78d41bbaae48904a3d7318ccb5418616b93b40b25ccc9c6af6e393bb6d5843d00f23bffe5f1c98cb03d2da1cbe5dd4c23ad887b197d46e98d7d2ae18faefb31bdee62bc08bdc4f0db4b843775c60c34122669aa94318140dc6d1dd01b6de4106af5f6f0acfa6e245c4d0eb61d288d90ed94ab8d8ac78a453f19c6158d6c812b04bb5ea32a596e854f3437dcbe4d818eac1d665fe932e9462348c570429c959a0608f7d77358a23ec4a93e45ed8f4e0d2fa1bb3bc14490abc686dc586b71af2748e8c5381d7a4156d3741758c833346c4fbedbc4d9cc6c8aad2b628d1990e325f1e1ab7468d3738a0e9b5970df2b63b8d51d5f53760f0c6e52667df7ad0aa4fc7bedf9983af8c0c115da88ef45253bdc34e7e2c944e696300d548a2a37dcaa456975ced7d8029b6f2afffe60c1c43bbd5df487f06fcbca58db0695a39b612b65b44398c0054228cbff6a4ee484ab1a0027bd07efbc0e3911ad9af2829c75258bf71c58985a4f1d95e383def39a42edd85d78701ecd9b7ff2873433c0b44f414b143fd1b389b4a39d0cf5f67637da3c1b58e3c23499150397a3dc4ed7db0eb0e2de8d5363ebda877582d59652dca925bfcc0abe3d389bf7b4991530a1d6a543ea8bb5a354d572087275911ad1344b6999b924fa13c7e7d6af4a15212ea9475cb482d97d3b8949edbb63273b6be669df1c41e7158d4eb4bc17db40e15a8fc31520133d5ee39c86cb081e0aac02131cccaacb8d1c448a86e1875215252bf06830097acc9f26cdc7ae9f8514abae7ead288ff30526de0f81c7fb620e41e893baaececd196244594c08022bfde66e436ddfdc5dd50e925f308b1a1af5e0413900a3d28d6979b1d34612dce8de26bdd6b5d6911fac277e652416cc041dbf94c91e80eecb9978560f97282f30b4d6fea6919c65f99cbbeb31d09e301b37d68624320bfa0abaa0cbf25e06dfe22714c39de842c2094837e7956d1a64e2a0a5b1c0c0ba8fb4c2fa6a38a7c05302a8cc4ec96435317f36422d1c60b8478b3ba6a83db5776d5517c7246d366d25e482f1df7b2ad609d2e838666d738f100329977d087c04e52439be88e5f0f380c01985cfe9ded145c2cf791f272d31918ffa631873c243149391c63abeccdcb5fb696dee5e24d47fc8569178f33a515ccbe8a2c43e62d219719e798fb1820cd696bc7f2013f77283eb2d6cd95365bb5a69a8f49379e86a5ac9576d488a1ff1a0f5a3e5256775ddd8ba6f32bd986a76203172095e9a80fb3f06ed840080009341cc037d805904dbdde2528ae721daef0336c5577160d2f750a8915dc12d599c9d9a691b5b323f3233b711a95cda2b6fb379d4aab039c2743ade61e19237b203fee7c1943ff4ad99180825e0c806b89a47883569809d0baf4a7050eacce2bffdc43c82b1dd8279d1cf51184c613970cd11023359cdee2b0db496254c2441f5e812e5997b73272e3bd1efe276f724dda58c96f1ba5c742dc85dfa65234f91309fa622a9cb9764dc5cfd398da48d21947b27ca1c971736bbd9575846911ac1e0f5b5830754882e1e7f1401862cc8446d9ae81777160fe4291785c1491009601e6dd96516aa08af459336e8e69bf8ce6ba644b51bcfd58e977e58a5599600854609fc34dc21870bc210ee442dcb938248fbf6500deb103a07d3a9f64596e3342adc1a011c349bdf3fae5425b623bcf1b874b7937baa555bd611bf9c30c27da2ec085791a09180660f5493e706e046b64e7f081ba6565d5e749b64b2807bf05f2fe7cafc5e340f123970a9e72c3b1b9d81ef19fc1309d6108e74db89f1e33ec03f50af3916f7f6b631ed16fccd0de1925c59cbb38b4b3b34e2bef093ea4daf9fe430a734623f84c0a95f47943d933faf4a782be2c952094ddb49b11401b112c38fba60a9bcfc13410cc4ac4091acff8d51f0f8df1b855c043204a34dbf0e12b937ee5a029c4700edb66eda553a69383791b0fdd4c82e1ecaf35a26c7ae2059c4ab20a2ad23092efa621647ae36d1893ad7a3d5e4d6a060eadedc818dbebc7d168e1e92b2cf2efe07ad8bbed6631eea49f08446c3f6b0ae83499a78ab93ffaedbe259695b79a012ca38aecb2fcfee5ae7190c39ca9afe2c01614f5b806b076147498f4b0b9826b0623a527eb73c689dca4e331e8f53d095e10989193a44ed69753a1f8a82186e3b1642c12bec334dbd6930f2c984e3c730b92a6bcc78dd5f4494955a418d47cb3fe9cefac61574b25467392bb9dd9de3dc9070f4d0987e0a76ffad0fb5ae94a7d4831eab9bc96162eb8290a0bc930289eb3e4fc05bd18cb6eef57663d6925a8eac8b4003f486c4b733ef5ec4844bbdf9bb2db51369407889fb69d738d3a7a06092fb26f093b46c3c42ed40d3ebbf453a3fead3ba6e8d40509369308c26dc385fcf7e69f3dd08b98601ebb077350ac8df12281f334c08e76d7e09b6cae95c6efe5ff3167f835e468cce1a82270f842b4e2fa949915325c5d074a1f1154115ec220aef125094884cff89a9433fdf59f6a861b735e348c34d209dc8a668343bc4efafd4905eafd05e00de21e9f1b2052d6dca1128025e5cafb0f0aa7187846a16642d400ebe53d358241693149d75e7e3a529b38532ac47916411834f03281812adf5150119dbfcd39aa7f8eec60bc8b76bb763f7f9358cad9f232ad340d9d38af9401c2c65bd28df6e484b4f411762dd96c38e4a3097ded37457172006f9e68a41ba658dfda7a6d4b83945e1021b9cf9a9ad6e45d70594667effd1a8a07ca7bc587c4caf7ffa003a3fdee55a286b4161946301830d419d17cc3f38d90b79d251c8ccc997fa88877120a410b9b49eb28a8cc8534e3d47327ea0507a3b25d4328e594891bf913f8af74e0b4b45c6f918b64c0de9cb94dd5245c91518c8d5f1af87f5b00e43f4baace238698d4cec2b2aeb7272f96f080943d00ddbc17a524d2ba63f3802c0f3322e4b0a980ab7aa521f6942668f8f693fbedaba6b5f225fa80d0d9307630503e9e9af2f2e5fb66d937ce8a78fff9f1b541fe93d0fe11779482337f281fa2523e668da6a08531d9dc4bd9abab36b88f8dd9b882403dea590cf5e2d1d80918910460b9127db9043d9e396ca66d12a595d9526b14ab7e65497b1af43ce2ccb19e0a166f75101907165337f31a797cb0d0a5187b62835544930bbc6d00e20a405779305554abb9efc5d5636cc0df682dc003a01116c897b498c5b3e121c87ef43e1f1b36ec08e904d26e51a6dcd431c4c2e1f80da8ab83bd76ba3317785cb76dca99d97d946b4c68ffde0ba8e9a1dd0418ffca21a6141205836499a284b668978f36750cf9e275ee889d7787ad5e981941418f7febfac891ff9c03e41733178df23f18bbd6464af9f02b99fb66e4b3c474ec737094cf7d5c8eaa8586b987c205d4eebb21fc75ef8d3ca7e76910104a9fd83809619ca157adaa207da21c8fbc129dbcc36bf9eb7177b1b77b20357d105c33557d76fa2aa2a946bf1f544bf7cd343345969c05842a6ac605f681bfb3124c54e6c4e051a7cd4d04b38be7972c4c330ca3330f6ff7384966093985d939d6ad49c556779ac61dba4f544e1788672837f84a70eb94ab26a7e642954e8bf8bccc7487657326e913631c9cea172ea1af39c462f59bfb86f126443ad05c6db874e841d47b463187f8ed108d032825a63b5caca176ec2be71fad4f6e9d326f19eb4c6c025e6f01f186284bcbc65d1c367a813d49e0f460a0af1501911778a4f5cfd0dbd753655d37c2c8591b14094677d8e3001fba96f73da44c2f41593cadd91eb296692bcbffb88d94a20f625b6c904c49d2fb2cba0b1d4cd242dc1701d87588a2a6899a7f02bfeda77242985460bbbd709ad1e07069d02619828e7d99dd4bf1bee975343a6cf3a5a1ff583975b9cf55648abb746b90e6d99719508d3792ddd4cbc0e66bb55f9dd191465bec1b5de24267b1aa8e78e553ca4b4888c0e484ab0cbe114aa5859713107022f146d22158ba4ac68af6da933fe039b6549004909b527fdedcee582f50db8431f0a7d14e77f8cc517229cfe1eb77ceb283e9c3f79dd40b504cb28db4b3aba872f35fcf0aee0e296b87394a67eb0668869d72a3315dfb3d73254799afe46e25df34b88fc55c638a7aa544f7d0a990c2a654b3fdbb237bf1e2da3150ab194327a0b8e3edf31660ade90b7615be75a7063229871fa9f4b98d8b627b18a4c3af4c6e56c03e44f0038ad1cf4570b54da9ddc30c3dff392470226d1e52854fd72cb4c4080527119f41c6ada4a730b04c70d259e6c15985f46f2dac841d011ce88483c796f299c74ee06288844255a0c1058348b18c21887e4e85cd3f2178a397fd10fa57ed1cec41df4ff3b7d6bb19c18de6762972f68543951f319b7b5872508cf4ed323c3720dcde6f2301ec4e4f679a318d6b86711b15154291b7e9c4860fa5b723009b622b1fc5cc45d1384738db6b81fb0841dbb7b7ba72a0c10a50238b4e230570b49144d087cfa068b14310a10aa250af8116383a44a56ee5eb868fc986a14fa97ce9a3f670289359b66d47cab682964deb52f7de62dca0476a7817449de2d1f876a3461485e6c76c66dbb953e8a0dd75cf752404c0df52353492a8880602e8d71584771217803217a559c2f4134c061d44b2f03041e83fc960a6e93de122d1bc322de9c23e4228d93e281e69bad75feea8db1f4fe196ec22f345158e6887c5e105ecdd35eed967bdaf8b58c9b18f9f77f1ba68de00b8b537e233aecf737d3ebf9f2cc5eaa81fdaa6070c3f4bf796456a79cf04f5a89f458ec73bdc20f8d08d7976e4535d8cc6fd1020df18505aee3fe3e5100d37cde706fb66df6a494b8e7331ea73347202810da79b9d9013c504779575453ca740669c8ec0e093fc354ca30880df8e3106962798a5dd71f7884935397d747787f1d06545e77b10e3733985e60cf63105f7ce53e981d2632dad247044aba8014152090c0ef606c01779b7e5860594d1979f3b74a72d054c394abc579cd4c0a7e3040a6a73785063061bc3f4e9fb37c960de3ae3a5ef1f1c8044134c68cbec22935fc9a493e1e2fbcda6293e201cedcb12dac3562193b892cf6c2b8403e04f115d584be7ba42ff62858e7597a49f1349aa94be5d6c6892802f91cd6400092521251854a3e7b713f4c3dfbf3d4804410df558311397d4680ce1a4419209ab0f5291d35a061e88c477157155462d00d161ec77c19eeda68090e82fc1a7f6287fb6c981341c78f01dee1d18a246a3dc96220b06636888cd10482e2dc2a829899be4a373a84e115d3bdd17aeab49c0ab98844d4447b1ad9d10468c756e41d7c1c4bdfb88a88f6e49b56db140a29524e5e0788900f261cd4216b7dac9da6776ac4ddf163cfe21602dacded2ea9a65d48688b7281b976420d0b01b2998b201e04cf3162c4d8e825e2df653ba73261bb30c1200a87a17360b6f9b46d47e839efd9540f28be22cf89ac44c40a8c255029988576128ed9a539d0405e375c18482dc579f439b82d487ce1351d061527389a62de2f75f77312de21fd57dbfab3f9dd6131390ff8c345416ecf9f675797a32a7f68835317b4b07a5a9e19e289510cd37d769af62953d098121554004656e714722ee5a6ee95bea13753f69d5b35e1cb072d18bda9a5be22fc4a931410ebb3c2f1ddce9717a70b87ef0759c3805ee9f3ee0b8c052244b33287cf769921af8a02c4af646b07c86402afbd9d922b5c8481a7a2297c8ffad8132add612ed176cd2e8463a7ed5ac6486d73d9f94671c1fd3d358fe00b8f880ed4b9bf1939e531ea81ee68df90dfaa1681430812400eee37ab76b0d6352a186263c123fb2b09c5419948266d891c756c425a000859b5529f1e76a204a6533481dcbed770c0f49c67e8e14210021d6767a66ed3fe224849edc5582508647191bd50fc50b9323d8d95fbac3ee266bb2e265f7df7fb962a0fd8e12f717d59d7d62f54aa50c671c9e2cb56c5b11144420f2997223a174e1c1c96e8a6c441372b38d43913779f33984e09620f180c6d40bbdf3c697c19ae58290b4e72e607ecccb708f4133678b0d8d4c1ba01042954823c338e9a91ddf8953c2eec89bf1cfd7f498ff4038e9e6e1d4fc7c14a0ac2dae2c58365e52e60430afcf965c743aedf28dfa75e4131ab7430265e07f7bdd4b44f0aa2e7a6bd28e190ca4e679d3947971b67a0fa1c9ae4274a3841850a7d396644513437842ca0a8c9af3dac5e2517d158ff8b6f1d27ed36035bb0e78601148560c9768fe8c089094b14bb6bb713a5d4da058d4986d40ea554aa051d86782f8f06e5f2744ab1be011b767c6e4fbb67a0888ab7d2a3420288bb7a397066a5840b327d0f00950888238a121091cfb9ebca718a8b0bcc3f412c7554b6f9c7d53a38aa3d16f6366b5299e6922c6b944927053185fd4d0c09e47046fb548bb6f63a1fa07d3262922d190102e4a83e309bfb52a752d445a3ef91244e7d50a11b6f650b923debc747f92cfaa3ff1bceee63c76c7fa1e87faf7842702ebebeea4396dac586336696659af42bd31a1a4d1284c3f6f9023d2ab71c5649901acd131702a44e5f7f6950b7ba2c0f83ceb9e82833f9c8611d655e15e55b711e97ddc10f05137197a16cff49176d5ff80098e576670da40d6e9e2f4e02fa6f3b3696a9d396a3847ef186d05299141d948b557bce5cad5aa86848b49746dcc7c75c10c594bd448316f5cd11d2ab9bb7da5a99af136b4cd740b45aced806c87cc0f1faf2d3dfbc0832d931fadecb618a7663190f1ecf39acca688e1346f09e8f277b8dd9a976afe23357e57b45089f0e801edd83fc344f11f6d0d2dcb3599fe2e3cd3a6df042e03d62d1e9f680ba3dae40e565f6655da691446777fe3ee72cc549ad622be6fbd008285fde52fcc9279b9a3a0c31d14b83a67d8f287acddd4bcc0094d41b513cd845322d90d7bb9515ec85be0756d334ff2397ef746dde56284a5f4a9003f2eb0edc8ee4824a8c7529656d18fca504bde53b503effad30f48c9e85570790a24b1c5cafb05544ed77e38a398a9d34e21a2ebeec1feba36a36c05f55d51160f907c3f2acdca0cde137eea67704086eebab8f9d82a265ea39c0e29e138a4120b128f0aca1b643428f611014917b5cb20579b4960ebf23b7ceed71b5347c80a0874e5f4091bddcd9c405f1b906a4e9dd941017386deb2a88bd47905b89b98f4429803f828e06d167e53b7c29f4f45e0a27db0c51c7eedcb635c1e7b303f7df2ccba09651ce5b5dad6a918112577519f6740d00028d25aceb5ce03a6d97efc6c3270b6b2324b0f2bba7e6df4db1a8d305b74d8f7f98077234c74db96469d56022c6383f926182b7bb660a50cc4a7b197f67ba578e7e776432c3cee658242c03403bdf836b6fb6d56548241f5fb8a0a41a146541165fecda0d6144c073a4069eb43687688e3e566fa35d9746432d0ebe3994f2cf250f113ab5b23ca80d3d54c61874fe1d263fefa1ae01a61fdb9fac6fb887beccfe1a3fe692458ad14b4b27252f49a8fd338794907550e20a05418af84ffd35a907a8d971731fa1ccb81516697e9ad9942e2e3afdfc3359fe6ab52268a2af75588036e9d4a96daeb73c1befe632eae4e33e2bf8e8bb82974c5e161d07fdfc054c60b95d6fa49e0820a88ee44ec36d24ef345a72a1f2f3fbefba8b7472c3f7761c61f4f68da51447c8c31bec16c347978af15182fdf2ee05fbfa49cfccc67f6cca83fad881f6a292d0997aaca7007a37c280ed5cc960fbea6a8192315dd48cbe8601fb9831a24293f120f48dbbf656ecab7443f0c495a277304532ac5d71e835ab007db2c34ef986e2a68ebd12b024a2cf5e09915bc62bdca216263af9cbd6593a6e653e9cd1a28d45a532a73c1203a31a7cae7084d30928140ad6e85b08497767e9527338fbac10415fda52eaf156c12855e348a652ab0e4843bd1e855429297617d0932537bd16f812f5f74219cba021f936792c640b7ec348b777a1ebab9e7af1fe4eb0b6a8f34d80da97be8e4c5b45de1d963633a990c2274c77c1e3d4855c5d2084fb5e39835778731ab89c4337f9ab67c65d73e19170bdb779f73e9e54e952df2e3933b4d6b8fff229fb986616be98de5786ec8724a5270f94a31b0e7b3a50a69a4726413557017059f484e0f7e2aab2ed53d88822e1a3c8c7927243e56c437cb5248ce25bdb9a1b92ce23aa28c80c83356e29594a532d21a83d796b7c304dd56dc41f951134c642297b35aa59c5a9253aa4e4f6c2edfd45d7c1507845ba7969887de617c99cb911749d928fb205a640c2169693f3546f6e988b7fe326e637661dfe598e541b85988336fa534750b507714126dedcf197be64afc9d7979e3c381d0c71eedcc90e70dda7eb94a9d102868fc40199b2f88e0ad2e6bbc4f563eeb78f0a56d57649d83eb6f65cbc69b38a971e812fb738ee0c9adcbd67119cb72f953c6fcb2198cd8bad9dace1228293144bc8e9bbcb0035cf1df926f89db37678f64dfc24f5a8cc340c5e57103ffeb094c3478c3b2230f0e376e31cecfbfd58d6a03f93681f51e5fc8fdf8ada0aced7bec67aa71391de552569e7584e9074acc2e5052b11bc29e4cdd9c8a8b7b12dfc1daa9fcebf09ff93c7f89ffe07f3315bc04156dde678e7e2e18a00cd183d23bafd6a2d1d1f5d480fcf656ee586c83bb383590310101d7599e32d8149b021b284f0c9c2e42935316a41c0924e0c538db5b6f4a343e4b42381233efb77b36df2144cacbdf0159a03e7a0f6cbe5f162fc932476bf8a7012db12d3e1f5c43d7cec4b46375ee1b5641eba06f6c30b20863380831ebc553e45af4ae303ddf688083295eea9c1a07b49e4e185034f8857809d749162fb7f91ae18800f67db887353e391940e2c81a6b4b7cf19abce412c959c5bd019bea6c5be79a864fe2f7f6023f4a9bf9dfeb274f9900e9c76871e292ef320b7ecffad5cea4ade484e657fbf644e0d8a1a6bf1b3356251f3627ce4b632ec7da3b7f1c50ff560010420ed24defed5db0eae952e6509598baba91d7311fda96736b28eb9007b38e22b6134928fae904837b8c72d6a5b70a3bb8b6afab42c52005a5d8de1793b6af8ac6a3bc7f9661937daf1988839a7a220c6faff4beff8276c7dd42aa308df36bdf814945e75a368a2d3e68d551d64664b806b6d74a8636224b16435b770097fa3528a2dbd5e67d7e987f55fe3331a36460948b3a7cd20a66fce0bb5328f5813f35162aa3a1d0151a0fa2026fc1944a7a78ae24e974c68b6d148241882571cfd8f0dcfa22bfe954826f2ee9aee5dfdac854341bb9691fcdb243efb0dc9d40cc71cbc3a226840abc1076b7fd5bb785c1f19fb41755d1d72dbc703d81690e65b01965d52ba8d24b4e38141ea432de73fe64477e83cd920db56ac7b4d41fe4eb7ee561b8b34f77ddfd4672db15aa14bdfd15e4b12ba8322035a522d3ce4d8e994403e7c843322ace2296faafa2c4deb79cf31f04c69", 0x2000, &(0x7f00000010c0)={&(0x7f0000000080)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 08:06:40 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000004d40)={0x0, 0x0, &(0x7f0000004d00)={&(0x7f0000000a40)=ANY=[@ANYBLOB="8c0000003000010000000000000000000000000078000100740001000b000100706f6c69636500004800028008000500030000003c0001000000ff"], 0x8c}}, 0x0) 08:06:40 executing program 3: r0 = add_key$keyring(&(0x7f0000000080), 0x0, 0x0, 0x0, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000180)={'fscrypt:', @auto=[0x61, 0x0, 0x0, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x0, 0x65]}, &(0x7f0000000100)={0x0, "324403705c223d54578a9e8a98bf70c6d87f8c42d64d9a561418098bbfa79a23f285287444caa186eba6559f22e3c415429dbf2e8d5e341b5bcff7ea0a7387a7", 0x26}, 0x48, r0) request_key(&(0x7f0000000440)='dns_resolver\x00', &(0x7f0000000480)={'syz', 0x2}, &(0x7f00000004c0)='#\x00', r1) 08:06:40 executing program 2: r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r1 = syz_open_dev$dri(&(0x7f0000000180), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r1, 0xc02064b2, &(0x7f0000000000)={0x2, 0x8, 0x81}) r2 = syz_open_dev$dri(&(0x7f0000000180), 0x1, 0x0) dup(r1) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r1, 0xc02064b2, &(0x7f0000000080)={0x6, 0x41, 0x82}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, &(0x7f0000000140)={0x9, 0x9, 0x7c}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r1, 0xc02064b2, &(0x7f0000000040)={0x49, 0x7fff, 0x1}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, &(0x7f0000000200)={0x10001, 0x6, 0x3}) ioctl$DRM_IOCTL_MODE_REVOKE_LEASE(0xffffffffffffffff, 0xc00464c9, 0x0) mmap(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x10, 0xffffffffffffffff, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(0xffffffffffffffff, 0xc02064b2, 0x0) close_range(r0, 0xffffffffffffffff, 0x0) [ 308.598258][ T7293] ffff88808a04f900: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 308.606356][ T7293] ================================================================== [ 308.614711][ C0] vkms_vblank_simulate: vblank timer overrun [ 308.650742][ T7293] Kernel panic - not syncing: panic_on_warn set ... [ 308.657541][ T7293] CPU: 0 PID: 7293 Comm: syz-executor.1 Not tainted 6.1.0-rc2-syzkaller-00105-gb229b6ca5abb #0 [ 308.667884][ T7293] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/11/2022 [ 308.677980][ T7293] Call Trace: [ 308.681303][ T7293] [ 308.684268][ T7293] dump_stack_lvl+0xcd/0x134 [ 308.688913][ T7293] panic+0x2c8/0x622 [ 308.692987][ T7293] ? panic_print_sys_info.part.0+0x110/0x110 [ 308.697758][ T7305] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.4'. [ 308.697773][ T7305] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.4'. [ 308.717586][ T7293] ? preempt_schedule_common+0x59/0xc0 [ 308.723117][ T7293] ? preempt_schedule_thunk+0x16/0x18 [ 308.728821][ T7293] end_report.part.0+0x3f/0x7c [ 308.733725][ T7293] ? hdr_find_e.isra.0+0x527/0x590 [ 308.738893][ T7293] kasan_report.cold+0xa/0xf [ 308.743502][ T7293] ? hdr_find_e.isra.0+0x527/0x590 [ 308.748665][ T7293] hdr_find_e.isra.0+0x527/0x590 [ 308.753606][ T7293] ? cmp_uints+0x200/0x200 [ 308.758021][ T7293] ? bmp_buf_get+0xa40/0xa40 [ 308.762606][ T7293] ? ntfs_bread_run+0x310/0x310 [ 308.767448][ T7293] ? rcu_read_lock_sched_held+0xd/0x70 [ 308.773001][ T7293] ? lock_release+0x5cb/0x810 [ 308.777666][ T7293] ? __up_read+0x192/0x720 [ 308.782078][ T7293] ? down_read+0x198/0x450 [ 308.786482][ T7293] ? ntfs_write_bh+0x583/0x6c0 [ 308.791238][ T7293] ? up_write+0x520/0x520 [ 308.795575][ T7293] ? ntfs_fix_post_read+0x215/0x2b0 [ 308.800785][ T7293] ? indx_read+0x41c/0x810 [ 308.805200][ T7293] indx_find+0x4ff/0x980 [ 308.809444][ T7293] ? indx_free_children.isra.0+0x6e0/0x6e0 [ 308.815253][ T7293] ? __kmem_cache_alloc_node+0x1df/0x3e0 [ 308.820878][ T7293] ? dir_search_u+0x1f2/0x3f0 [ 308.825543][ T7293] dir_search_u+0x232/0x3f0 [ 308.830034][ T7293] ? ntfs_nls_to_utf16+0x810/0x810 [ 308.835154][ T7293] ? rcu_read_lock_sched_held+0xd/0x70 [ 308.840597][ T7293] ? trace_kmem_cache_alloc+0x35/0x100 [ 308.846043][ T7293] ? kmem_cache_alloc+0x1e6/0x3c0 [ 308.851060][ T7293] ntfs_lookup+0x174/0x1e0 [ 308.855473][ T7293] ? bpf_lsm_inode_create+0x5/0x10 [ 308.860576][ T7293] ? security_inode_create+0xd6/0x100 [ 308.865945][ T7293] lookup_open.isra.0+0x76a/0x12a0 [ 308.871136][ T7293] ? link_path_walk.part.0+0xe20/0xe20 [ 308.876585][ T7293] ? verify_cpu+0xc0/0x100 [ 308.880993][ T7293] ? verify_cpu+0xc0/0x100 [ 308.885424][ T7293] path_openat+0x996/0x2860 [ 308.889914][ T7293] ? in_gate_area+0xd1/0xe0 [ 308.894411][ T7293] ? path_lookupat+0x840/0x840 [ 308.899162][ T7293] ? try_to_wake_up+0xd95/0x20f0 [ 308.904089][ T7293] do_filp_open+0x1b6/0x400 [ 308.908581][ T7293] ? may_open_dev+0xf0/0xf0 [ 308.913160][ T7293] ? lock_release+0x5cb/0x810 [ 308.917827][ T7293] ? do_raw_spin_lock+0x120/0x2a0 [ 308.922839][ T7293] ? rwlock_bug.part.0+0x90/0x90 [ 308.927767][ T7293] ? _raw_spin_unlock+0x24/0x40 [ 308.932610][ T7293] ? alloc_fd+0x2d8/0x6d0 [ 308.936934][ T7293] do_sys_openat2+0x16d/0x4c0 [ 308.941603][ T7293] ? rcu_read_lock_sched_held+0xd/0x70 [ 308.947048][ T7293] ? build_open_flags+0x6f0/0x6f0 [ 308.952064][ T7293] ? lock_downgrade+0x6e0/0x6e0 [ 308.956905][ T7293] __x64_sys_openat+0x13f/0x1f0 [ 308.961754][ T7293] ? __ia32_sys_open+0x1c0/0x1c0 [ 308.966687][ T7293] ? syscall_enter_from_user_mode+0x22/0xb0 [ 308.972572][ T7293] ? trace_hardirqs_on+0x2d/0x160 [ 308.977586][ T7293] do_syscall_64+0x35/0xb0 [ 308.981998][ T7293] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 308.987885][ T7293] RIP: 0033:0x7f5aac48b5a9 [ 308.992283][ T7293] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 309.011880][ T7293] RSP: 002b:00007f5aad2b4168 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 [ 309.020281][ T7293] RAX: ffffffffffffffda RBX: 00007f5aac5abf80 RCX: 00007f5aac48b5a9 [ 309.028240][ T7293] RDX: 000000000000275a RSI: 0000000020000080 RDI: ffffffffffffff9c [ 309.036194][ T7293] RBP: 00007f5aac4e67b0 R08: 0000000000000000 R09: 0000000000000000 [ 309.044607][ T7293] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 309.052666][ T7293] R13: 00007ffcad73e6bf R14: 00007f5aad2b4300 R15: 0000000000022000 [ 309.060632][ T7293] [ 309.064403][ T7293] Kernel Offset: disabled [ 309.068801][ T7293] Rebooting in 86400 seconds..