7be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, 0x0, 0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000840)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) 20:02:53 executing program 4: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'skcipher\x00', 0x0, 0x0, 'pcbc(aes)\x00'}, 0x19) 20:02:53 executing program 5: r0 = socket$igmp(0x2, 0x3, 0x2) setsockopt$IPT_SO_SET_ADD_COUNTERS(r0, 0x0, 0x23, 0x0, 0x0) 20:02:53 executing program 2: r0 = socket$igmp(0x2, 0x3, 0x2) setsockopt$inet_group_source_req(r0, 0x0, 0x2b, &(0x7f0000000000)={0x0, {{0x2, 0x0, @remote}}, {{0x2, 0x0, @multicast2}}}, 0x108) 20:02:53 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) recvmsg(r0, &(0x7f0000000780)={0x0, 0x0, 0x0}, 0x2140) 20:02:53 executing program 3: r0 = openat$null(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) ioctl$BINDER_CTL_ADD(r0, 0xc1086201, 0x0) 20:02:54 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_group_source_req(r0, 0x29, 0x2f, &(0x7f0000000000)={0x0, {{0xa, 0x0, 0x0, @private1}}, {{0xa, 0x0, 0x0, @private1}}}, 0x108) 20:02:54 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, 0x0, 0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000840)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) 20:02:54 executing program 5: r0 = socket$igmp(0x2, 0x3, 0x2) setsockopt$IPT_SO_SET_ADD_COUNTERS(r0, 0x0, 0x6, 0x0, 0x3) 20:02:54 executing program 2: openat$random(0xffffffffffffff9c, &(0x7f00000000c0), 0x80000, 0x0) 20:02:54 executing program 3: socketpair(0x11, 0x2, 0x400, &(0x7f0000000000)) 20:02:54 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='maps\x00') ioctl$sock_SIOCGPGRP(r0, 0x8904, &(0x7f0000000080)) 20:02:54 executing program 4: openat$null(0xffffffffffffff9c, &(0x7f00000000c0), 0x80400, 0x0) 20:02:54 executing program 4: openat$yama_ptrace_scope(0xffffffffffffff9c, &(0x7f0000001080), 0x2, 0x0) 20:02:54 executing program 2: openat$null(0xffffffffffffff9c, &(0x7f0000000000), 0x200080, 0x0) 20:02:54 executing program 3: openat$zero(0xffffffffffffff9c, &(0x7f0000000080), 0x180, 0x0) 20:02:54 executing program 1: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000002400), 0x0, 0x0) ioctl$TUNSETSNDBUF(r0, 0x400454d4, 0x0) 20:02:54 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r0, 0x8982, 0x0) 20:02:54 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_SIOCGPGRP(r0, 0x8904, &(0x7f0000000300)) 20:02:55 executing program 2: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) getsockopt$IP_VS_SO_GET_SERVICES(r0, 0x0, 0x482, 0x0, 0x0) 20:02:55 executing program 5: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$sock_linger(r0, 0x1, 0xd, 0x0, 0x0) 20:02:55 executing program 3: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='status\x00') ioctl$SIOCSIFHWADDR(r0, 0x8924, 0x0) 20:02:55 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) getsockopt$IP_SET_OP_GET_FNAME(r0, 0x1, 0x53, 0x0, 0x0) 20:02:55 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="f20c99596c85889b9030c36ff09ef4e543f045b889ec3a9b8f9b6db07fb42d7c9d77e9195a3346da6120e1edb0a23414147000f0e2d8ccd71216d8cd789a9b711539a93b32ccb547a26489749cd038d5c1aa44214df6d33cdbcbdb2cf8f324762a3cf8a27b87d14732e8d238f96007adf8c3deab9fc5e75c13ad467e04b76feccaa71fe87ba2528838336731153ad92ca8feac48f8a32db9ffdc06616f47995e97779e9a21f2122df5e28d9dc2ed4042c81af9a6ac81428cd94f7c0143eae5428e7b6757bb92d59cdb2123c3141b2ad6fbc2fccf837e429f0fc03a8351bdf6bb9dc6640456c47942ab7085ca5b6af062470de60c59a6ac6348b839d3006f72064b478239efae9dc5b6693a17857fe73c1a6b4639857431e40954576aaafc18c1ea3784e8a4f91cfea4f431c9db564352f2d8bd13d536e9f2f10e5a8a94e259357387bde9440ca93cd999f8989a2133ab4837bab3e820c13eb94c91279d2c29838395b517c36be671264c905c28c05fabd71c8d80464f600f0e62f3b50d73d1776a2fb9e3cd4eb119fee0ce0c969c5333f27042e507aa2438c80d7ce54fa5baf3c3676e66d589cf03ed1f5eb778869ff331c14d770e4760f32972233d87053419a0f0c977a1d0c4d9ae8de6a8a8adb288ee1f935c68e74ee05a15266e4ff936b48ca8da0f4f29e71320bcc01b70f9a19954484f37e9d7bf23eb5feac99b709817b1b7894b9897c88575703c21aa55b361f8137687b2348a69aad1bb5d76d9f8b011ca9b795b6db2b4b1bde9acb5512adc4de503473457fe4b503a95c4fb129dd707fe0cf371e34d0416a3eb7d3deb93d9747e55bf3c957f1f0e0b5d9e78bcef25b7e290263870bc526f7dbc81c691126d73c84d3f04fd06750d94fd1010563cfd23c036e7b48d2ac230ef4fa3584288e5e86b1f9bbb9926c32fd7ae47a7320e696c9bac75b1bcf1c79c528118b6887a7b9d0789bc5ca8c6abcec94c57ab9cfdc9302a64c8fedf8e93dbfcab1c9e8fb22ddd7f9c693c882cd886f40beb5f189a7c2f0d080fffbb6f8614c2463ca82925deb338f0d3b27ce3e6ef261e2f630a583810f2e3702afc05b50678fcacb6dcb36032aa5d36cddb24a1d5f271800c8f9741dd5f6a311a87d1658acd94cf78a1aff3730d9a1ef89d0dc175eb403b69ac0dc8a2b1e9590bae99aabcd504f02eec75e4e5ed0a65991e4696bd4f77ebedb0f1de20f6b7456eda5a36894923e21e60f80a91fd1c169a6a55c5a6c7e8677edf53fca4f8b1f23820fcab6a3f5ed96754a82fd6e0d40c1e9d801bd08a7ae486b277fb6ca55464a764d5ff5d276f4868dadd57a0274f949673fbab132d791e45df0bfe10531f4c28421aedf75e2574170b48d4e6bdabaa185fef9cf5cfb2b8906f061c5c966269b8eda22bb95500a288b34b8ded72f210b923f3389490a896e1631ce945219ec65d817fd0064ede96b603fe8af95d6af2b78af02e2829b683b1ebf55451fb21fe0691b5d22fbc9a1a2dbe17856171bcd31868682b7ab03ce4c9ae553b9c4e1ce948dfb12d7d3507b1350a466111f1e9d330cbd28509a69fa061c703269b6e39a3fd61a3bb06f9712141a012e9f1977d6a79f843050744a699bb171109d52c7677844d1e068390739db8a9bba0e1a740e549376c4ce5ff0359ec042baf2de2d345ef6ba296bfbc08b7cf198beb7ac26590f92784e40bbbc6e80557009539314d880452c56a28d0af3fb0574c7fc75e92234a2fb82782f56f35ca54096b941da55f384221208c44730bfb1855ef877c321d02deb1d202679ca8d4961cb82999e7a4cdaaea908a16a85e1e5cdeb9f0cedefb6e232c4e9952a58933b3cd2eb55d2668d1461dcc2bd34654126319d3d3ed655e87336a3bc73ba7fa32c73a47936980bb8e88ef7ceec1ece50dee8d09738d21cf662cc5a1549c656bbc8e425654f56213cf3581d8fd0652567c152835d1f9a4067e210379ad777a7db1d9e2f0495cc998f24a5ecdd39c141e3a6a0a84166f4b6e15910e93f2c3ccdc4ac5715d52cb014b94e3e12822eaf0314561e8119d38486d6335015fe636a7f568c0f7ace23207d36a545d0d2d2e9de548fd6291935647e8f259186c3110372e1e0453f1787850cb4447da2366e0cfd6897383df4c692ac3fdb85ef2ab0628f9bd7314c294dbe0da82d8de0efa72b00482b2eebcdf782d7d18c855febd0435ee3d2a5aef0c101b063e891124adbfc7bd947c87b3ec60083fc7c1e3139bdd8cd6c41980766936561d4b295f2491c8dd30ad7e5427b9867a3ade82c0840c9658ce4829d7d22a12537f50e5fcccef32331b6eba183cb4bee71a9ec064a902b48a044272697931f3f8ab9833f432354891a73cc95f4361052fe2005a76d97e0f80decd90a6a7d23358944ec7bf8cc9fa7501e79127834f3c9e32176668ebcec28a51f949878480d7db46ce07f108595858e9967aaae943609c81ccad596452d4c759fc5a0637be0acecb3511609bfca4aeefd7d9a53598b85e9902b094c022693abbdab522b1c21fae192f9f4f1daeb4bef812495f8e85fa6cda0107bde9c9c05bb55c824827ed2d0132d0dd327ece6d43e5458aaa214e9f336635f7b0931a1cf492119de81cd191bf4082e8e26f570ee887ee1a0808f39b5459fbfcfb628c2e70b2c7c9367ec1a12b47e4c9124b9ab5f4762a27e3c8a1090ec2a27d33961f94bc66cf3be9ce9adb26b960bb8c8f7c48099d685b453d6796517fdf036fbb6edd42c46f7710f2ade2c0be6af0d6659a6bf48dcc5a991a34f402bec0146814282e65328f2ae87b78b1506e68983f65f121180767217f587d25dd5a68d2809f7fd3d609c2786af4460cf88ecc2a7a2c0067f202c407df1da60a79e35d44a5525fc881f9b54937f7009a04f27ce4d8b7aa139b7f1cc3c7c0e90a8d114f30ff365355a926b80af641c08dced62f5f14ea1767a6a4b3bf14db7e3515f48be849638e059c62ea997b229a9e6a77ad0f1a1773e9f27e05957d3485fb55bcf9e0da8d768007a6fa02dd9de4d475d631d90bf6d43c33f265b58615f6ef1f430f3ac8d04fd0a332a18516f0d8bd0f4c4bb4a2e055e65250e356efd52ea21aee7b44ce276d081eceb6e9d2af73beb39ca93e2701844c0def42c49fca79271c9f402b74e3fbf2393cb7a42dc42c877353a4bde057465c4ad3eda8679c3960cbee2fcd41411a7b265b7ad19ab14b76d0768e5c05b5e7117b12d222bbcbf976eff9e84303f93c8145c0936aaeb150ff9ec7aa1cd06f4cd5ca698addcd86349fcd1b59e5d0a779356594c9a3484797c4515b194038588eab3e40a063f43aa15c0f9a8388c467bedfc1a3febaf6d2e54c014b05ec8446083cf5733c8fcf14daf8386d2841d03d80ada5cd3328463f543415845c48fd894134781aef5991639850af77ddeec3d4b72ff29075addd7442f821ef2041b8963d93b6e9bd4ba7658f0c234543fc47bdfd4a7863eecb73c167eee39cd75db3263655900de8bff1c64bc717af99a5a0b32ff4fed5b87942606ba46e006953760f98f06964639a6dcecd3a4916d1d854ffec03c2190fd676017760192caabb5cbe8a23188eb6bf0e02479cf6af79fd18739229d5ea89e21468aeba3459e9bfa89e64300e121a2c85e2a652bd5fdb1330f99eb207599372584637840e35b4984ac1c9923cccb549fcc66c751fb92d99dfb82c64b401b80a573a4799ebdbc4feb5c4ceb1e285aaddd89ddc5e2f5e90ab3ee40e8a36abbd7387cfafdeebb55201f87b501c2dc191fae82f49e14664b45b7e50deeb5b3124e69b52f16627ded6f2d9da3b5dd3a64f89885ba958ecadd869a5469cd9f5a082386e4103fa84d0555d13baa7f0c87df96b00f9bcbcaadc7cb2ea2aa73dfb8b10c65dd69ac09e4989a59b75f062e7648a3f8f394f8ae77d3b3123c6df3c230be97a8a468bdd8795ca73b8a9e63e54a670feaca4a3924e947079e3cac7a8f1cf78896f82c0fb39a0eea1fe9cbfa01818af28ac8e8fca5a75855ea2a4919e6dc5b647f1b16a1aa5621dbc6a7755e886f401fa0e91a603733d02f6da653defedb79d50fa483c3cecad16324ec7c9a777872374d651b03693d31ec8f7f246147175f0598f289c7b25da7a611a8bbad9f3c0888afabb6f7cfa459a22a872b0b5b0f765d94280f49a3d5fa5edb40cfc1d2bfb9518203caf0001aa679a5a98bafd00d261465b6ea7aaa4f2995db0ae83924d322f514d493a3c67ac12259a93684cbdfca63fab542dd24007247a3b2b5e2057ebe5a12af52649387c374c7952a4e3f25c1167b3d131717a08bff3c861599625e05790e01952af22ca911131b6f35ea24271e3c01492872f25f124a0191f58b5da8f6a4fba4ad7abd3458e552e91be75d192f2891832fecbc4c8fc6e3a94fa02d1602316bfecb430763a71bb577a180195cb77fc86f2c02f1df95fb46488557ea476ac5342e532ec66ab2ea6e1f09f92006938dd840ce58f7c92c7665c2255268ca2753c357b5ada01edab5ab83dc1328732e1d132407eb2aedde5e47104ed826640629faef614546bf885a6e071b11fe406ed5367d69adcc6a91d5f284a9d82abaf39e437ccd709349dd841bf39b93e0ba6b721fc2725f1baae0ba0eab0960e4ff78e6ff4367337f562a3cb1a17ba527cd180f31b5c4d280e6f1127b5b0788a42e69ac25c2a1d1e5271653a653b4f36a819c5d1e413d7807828a4ccd8a6bcdc9bae71dc7cd03d63acd7dc4e47561be3c6a0ec40ea7be9213478e10346907822ff10212bd9a31a7c06f6ecc24e76b806eb4cea69a29c7349fbeaf31aa195cebe7194771ca0194055a096dc297c0c7925f62de62e133e1fd2da07aacb658109b8422916c66d4f665b15db346bf7fa901adcd49327a64f21bdf7bd5822b0a1c3b6348241737736b3bcb4a4b74a2160f1a41fb73baadcebe2c16a9e474c7087e8384259dd3e039d696efb8ea10fa53cbc1273043f6280b2f2b28496b863fb982d79c696a0729178226a8bdc567d51a0608e7328390f648f73d2dce316afc73743b6e795f2bda31c5ef88fa8c9aae1b3b14aeb8841096907ce10b8af2214bdf8888166fa660f0c207b83929dc238352563b882da59c6094f114488261208ad68ae07c867cae26734b3655981f233a82a83d53467c4f25d4a1d223bf9bf4d1be49c985e7c2c04bc51bf3eda0d1ca90e0038113055548caf27486546c437f549d4c253b4607da079ebe9f318695dd85c23f6db4a34b32ff96b1b2a2411496f00f2fc627b00ea52145a8098f76979af9dc9a35981ac7ec8653765d0b514591bd276df961bcc0a7d900ed8486d9944283d0f1ae8a27b36614be92de600c2f4fd32fa6348b4e94175dedb8da867d3b2102ad14871c0c8813f22c7ced6c8e70678e4dfcb6289f720785728bcd5e859933df824a2ac08f2f47e365cfa246c79d5411003ae90f1e14d773694271d1c6337321235329d3eade8cc33b3af114a4efc7d8606a72bf12c1f67ba2bd9495be63fb55cc2d56aa8a8e420b4c5bbce29201d7b696f94a13324886b1b44b2244e101893d238667fdaf54fcadcd3bfa231d15cec8bf43d23127f4c65b789f4a0a0681b620c1e6cf96da468d545f6ec6b608cd213e7212110d397e6b8f8e8ae666a8def88a37c82eb841b456b8814edf9c91ee1a58c0567923ed6284c9bd5c401fa1ebbafe1b3501764a9aa46c85c12b842a4b1b14442c1352eebf8c2153f1d4811e7c5ff9885b1f852a1136474ff37ed1bde0966ccdf7600bbe12973e3427f0a81a4d2e8394e7d12affa7f08b19a819914ecf7fdabf4b244bcad2fb191a9613a86ed2cc8f3949966f4ec797bf1fd2ac890addc599d9d12881a904e495aa7dce820aede704f63eabedbb964621da2c0cb06fe029dadeb6b9e158a5b956b9f4efdd89328ec8b221eb6b5f11c11ec813e18335a30941764d629b8101ab3835fae18683b206e31131a4f2bbfe7fb6d80f0bf83089ccfc8659f5e2d15ceebaa795db05ebdd6ef35231be05def7b82515665da6a26deafc67e899e94921b7d7db96a42857845290bd3ca9f8788aaeba04f3641a2740aa5a2fa1caeefc1cda1221391c5e73b10ccdc68540ba52fdef5249040079b2641459790ee2ba8ef6bb6bdf5abb5b580166f3682f4cf1c8e580809ff0e8a8711b3ab31a6e7c13bec0999f15315b8fb5fd524e3acb7a741eea892fa4693a2af64c9babc93c48ad895aa44309da5919b43be072ae50fd3509ccf7111297ea4d02626c24f1bc574b5fc32bb8ada77a924993cfbc2509873910a0991f166c3bb77add438f039b21097036952a5149f5a7c6a8c42ca490214d6a0dc4e673270f86665b8a774d93e0c7c4a27a12646c94ca5c2bdf8919dd04707113682b1664887d17c39405ec9c54f04e55a96c6037bb3eb83b9b1e72dfe6394e45df8503c5b9c13e265d01d48f6dc1ed4ed627494f0d7a9bed616c30ef48952589712970e7ef152b94ef8eefd7827a28be7d6ddd3f6aa948baee5c11a7b7246ed5bf4cbabef74d39626a3759e1432a545dbf4ddcd0109a943c1955e82be4c6be533d2f6040b575cac111967a5e2e5933ab1bed2178fa58a7464613f6e8b162cebf91e43678bc070a4a98be6a0e6cbb57a0fb3b39133ff49a20f5f10cd2d746e3405e3560c738c951b97e7ef74945421c0bb9a3b53a04aa8a476c8cd8aa0a7fd107f5a4fd0dc2f0858c429e0dcd11da525ea36f6431a90a645d5080a5f971ac5e1ad4544e711d04ba85f6be4fc3ce5d263a6a121ff63201af968c4627d7f7b4121f74718051cae0e1c17d115bd56b673ae98e057ff55c3d7345097e43898219c05cf5be2655473df468d9f7c626d219f2044418cf5beddaf28a8841b0addd5171e0e392d42ae61d0733b75644bb91005626ad8ad35ee75ed19c031773f3d9cbb50307b44140fa37db3e9648f7a31ad0d388755e587caf3936d79ee81bbb08714712fd54e121f2bcbcbbafcf22e99330698a1b714ef1c41418714e00ddb7002590d8219b2c21bba11fc4e4106f88e696178cef7366bc46feb6a407a94a61cd643c952b5e1cff54faf725e325b9115793ca755aff8f5627872c65fee0ff0b022b97496fb5f74e7eab7cc072524d0d34c16f79d381fbc90366a87a321bb7d70cdf0dbf59808e5badaceef3258fe158d177faa749c5bb75f98189a5fe11a18d22d5750fdff13c7f7bc2890dbc5702345156cc3a7f6a1acb2fa359c3e1f3d4daa7533d5a3f5a7d47c905ae968074de059e2bb72b5d43ca8f699e48a2423a263ae4df4625bbb1508d1025852eade7a6d1c5c71a9b2a51034ebb96154caac7383048305a44a1e6364791cade26567ebfae35313fc480da945bcb3b679b17c166da0e021618c6c630464f0d7672a897f220e1647350160e6b3ccc4fed292acc3c444f94f944ac4fb42c3211bfc84a820768caf10f48725cd707480c414d49ea0e7a8416436c6991684b5d21d1b51468ff5bb659dc9274a8c9373318dc72c18f2524541811bdaf34493482652016f939650d2918eab7631eba830637e44b800e29ebc8b28fe05c36c38e668f0dcc43fbeec3577614186f3432e589e01fe99e624073d0af61a09ebddb37dfea29507231b79337cd9da77c4f50bf59789c2adca85cd5b9b03b3baceda595704b5fc5b3ae0f81922fc8d43b2ba6acba936a8e9ce16138fb8614004950a65a8caffeff4470fe0a5a3a44ae6d7132242284556668071c9d0fb722135765057a78d27f1ef16c7d07da6428b3a39a2517951099899a2c8bcbfc96778b04674f5574a78e7362226f4725232d6e92f4bc635568e94eb0663d1fea12140cad637ec9b404c7e10c6cc3a1baeda06eeda8832c5f75a31fb5f2100f815721fe2d90da84e842edb08331081bba6ba4f12115f09023391927c0439b326155be1615800e1f7e0d5dd771391f718f9327dadfeb8ceb1582f50cbd4306e0fefebe83ce6682b18106b0823bdb6f8545302945328a86ee9e78546b7c3a08b472358ce727faaafe6c387bb1bacdf13e4db46774f15853af26f9f14de7653b3257072f98d567ab226f43a126e5af15b28fc7c0837a542bd5fdd673d0e3194ba56d97948408eac8fb29c11ae5db461cbac8c6d28f6721e46f08c184c159179761e72089d474f427453d1a4f4761410e4183072191dc17a5faeb89f4294a9a62b7878f67df54c94c4e2e338f4fcd7004725119d694d731cf4a052bafdfa27336d1a3c0f667351deed239c5e85ba7a822f173f4a747fc98dd96d4c57c087ccf8547b0b3a04130e53222b1e30153b9c7ac6633709e2062fc87561bcf4a97b18fb3a397d2ff816c3826ea1ce7480965bcaebd4acb91333c979dc5ca6d79720160ffb3ad56fdd8797bbf0943ce8f5d94d13721cd6cfce005e27da1365083fbcfe4b9c9e0cd94b3bbc4e6ca2e24c64549c62882b77b2f9edd084d35027f2d4f993612e661f1785f41458bfbb02736e6129abc7372fb3f10d3599a1273b5fbf79e381bd67b03f27f6d1cc764ba6897487f68993991a004c5002b90d1d8a7a8ec28d27a09d7a7176af2826222aada79389a38a4ccf1dc2dd54086ed6ed27399f756da0d1439733d3df9ecac481c844a914c2f7b1135dc84aa016a3583e2d35f827833741f97eb7fbbbf4bee424e5348ee3aec16aa6ade123345fd48979bab31c1c9f6e79678477d3b93e1b64b6ad3a056f485316e813831ed39ff64765fc006fe0b75cc20047cb9bed4071c7618a82e0cb3197cba1f42582eee7a1bd2426cf65f913003a8878b73026003f1fbbe84280524df56395d08a8649f48bffc5d1331838840b71781760efe055fb9de3bb301692b08bb68268b36aae9c8342a641482a3202b5f2eb8ffe2571b7e58065aef77a6c58f66598ad288f3d7b0bbee6eabb67eadaa9af040c148da3cab5e002589de9e8b3e94f9c1983a81cf2e5860091ebb5c41e5ee0254865026b00982173ffd69753d6394d5db1bf2a46fee5bb509a14593a8e3815241cfb1099e28af62ae321ab0c376750726b98d4bc35536d9cc328c83789d939e39d2ad770c924b76cb2aeaff31de6938b04eec546d532bbb770ab352ca3b66d52f87af76fb28c19e4c481baea62e773014bbb4b647a1ade14b84b0aacc38612d6dcf939904209cddc553b0a0274d96471915abd60ef76a1dbaf92be994e882fe0c5c9a049cc632dce3952c9730270df1d312a94b85a325744ba53512ca1abc68cf2453b02698d18fdffffff784674d2c8ba5dfe839892f8e56eedb378b7f5947272f9634c8ce7aea1324f0f034c63d427b605015d279d0508f52c967c4ae24f6fb39f78bd75b1a18873ff4ddf6fe6950fd83a723805a2c05dd2bf4f7ad494a0fd9cd8b5fb12743062d90e9b4fc421d13025694b1253f0a780a571e33833d705cbe4e248fde3587d1b4456b26cc2d5a957a67a7ee0de9f12dfa652231d94ee2a2bbed8cd631199b484fc1ac0f72455c9cb1b421a0d120acb4619bca83e21a3e0f2b8467740235e3ec448462eb96d2e2cbfb8ff2e9865cc83878f7157a970ed40e8e96414fb7b542c4f16b40206ec64704364e39d404013c929cea93280d0c47026e9cd17d42a2293e2c79b1e82c46d4dbab1743422a327b13e4df430367980fd4a80eb84fec3b84de027ee40016e1a8a65fcf84358d88cac80d44b88940fbedbeb87a5e65759c581c1380bbe46080065b8221e4d1441b758e2d19d324f9562d1240efdab2a1d85086e554d2ba8713a2d4d252c163106d05b1b1d40f875f97326dd44b20c16c734f2001e8e5a972283741e4e8cff3ae269590f07fa1bd0caa2faf2bca9e57f78001212b53da5fa56e14bdbeae91ecc48cdea4e9855544e2f397ae6c62bdcfd970934af68c4c8e0a672164c8b8d03ac9491fb01ec107eb893a711caea8f6ff7bd1c3936353e647590037945d6afabea2e370c9dfb4be0a6bc59b669bd5b524fcd59f88daa8993956743c6bbe2353292ee08364c2dd247e208d64429b4ea05762c7003067a57f6a510ddf28ea53e4b74756594fd73e6878e8a9efb502f9d420fbc055ae5d29dbf8a04eedc0d161c5d418ab0093c158a3860f2ce8c58fe5e20b7a15936e819f41578c4682b8c820c8144bc156a765b09c6e39d06ac9f468978a318b4728e6a2d4444d9ce9adce3461033b4cd3ce72cb40aa47a71f228bec64a74ec83f2cc0e54da8bb75fb2d22c2fe1eb22395de5d204b77a8ff6dee8b4a0e43141792fc45c34a51970016a9f4f123d30ed3f8ad9204cfdfcb7ab3dfa2fd38ae60512ac40589e7d408d3cfeb744696f4e97cffbdf88595bf863ba2e371ea413bd83e2bb08b7bb4205fc8624d2acd869655998a0114a53c7b53948367f02597556f02dcc7f935c8bb4113596fc29e2836a43aff89278d200679251c5dcf3b93ac6c8a1b5aab175ec73f2fae15f33ccdd8223852f298f051e8f4f7515c5db2ef088631d92d1d7340cfccd40893ecc3280c3de539884dc492a8ff9c1b2ab77060a45fc0af692659c0b34fe286ba99789e1502fc53446d9f2c15303b4ba2281ca9e69f9358f75f3eafb12a5e02a15460bdb8c2c4466c36a41a370ed8984c0d0d759fe702aa7b232fdac28b4bc440415cad1ea029c944c0455aa9f8c96deaf525b290565df3fa8687be31f7f2cc98b872e0e6d505e21b43b736e47e3882eba602ae8e84ea9e1b01c2e53b2d9af9519203c705c8a6e31545e0b09723f766debfd88d5016e8e4708d612336e284f94c10d050609e7ec2fb99011141f5b22ff808b98d940867ce62dd1dc47906b0b979c8c9fa368fed43fb0f6921ba9cda9639fbb861baadc1b12dab3229b86d31631f7fb0dc0df919a6ac0a31e1615d3116a3d29d1a9ac34e25a12dbd3ee3b6cec4f58eac27b80ab91076978ed2b95d3f9789b46da999e568aab07e4987dc642dfc2d03edf0b281a0271a4002b4bede13238287366c27de5632d7fb780b967d8191506cd521b1514dba003bcf8e1492e615c8b8d8d6eea9f742aff79499a836d2772c2f5638fddd2a1c76c5c721f5e9172548852d1a3faf1422a300815ff26a7965b5bea42150a21ac8fb3b5d4a8e2a9b89849b9056db2d5b9328e8803257973a916bcfd3ab9c240f9686855d40feb196549c39598ec0b1b942d87570d52a25b5ada44e9fbe77010825b6f862dd4aa4b9a43b5409f5c274bbaddf66b39971730f27b0f7824ec75437c2c5d2d7bd8d4ce099633507164b10d5e19fd1d2fd3274a6a0e931fac3cec5c2c75d2e4dc3b818c31c8431124894322603cb8de65611e8fb558ac68245cbc2385b43a0d0228cd3c57a49dfe2f686e46add449d80c28182d6a70055bf42aa1d07ee709c9e20fb3288bc58c0dd898181f0a6d06a0c72ddf729a0bf4146fde9eafd4bb04f23b9d9d382749f48c94cd88136217ba575885c43fbc879b932d5ed03f57059571ab86edaf2b572b3243408634c95fc1b161fc5d9fedbcad148bef704f6a0637e332a2b11052586918263f1ea280a1d0e339f38e17e3f1d0f1a4063c693d4868fbc654362a8a153b6fd2e3361af233779ddadfae5ae0b364f1b1fce7957c0e3b0275acd600", 0x2000, 0x0) 20:02:55 executing program 4: setresuid(0x0, 0x0, 0xee00) 20:02:55 executing program 3: openat$zero(0xffffffffffffff9c, &(0x7f0000002400), 0x80, 0x0) 20:02:55 executing program 4: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000002400), 0x0, 0x0) mmap$binder(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x1, 0x11, r0, 0x0) 20:02:55 executing program 1: openat$zero(0xffffffffffffff9c, &(0x7f0000000a80), 0x200040, 0x0) 20:02:55 executing program 5: r0 = socket$unix(0x1, 0x1, 0x0) ioctl$sock_inet_SIOCGIFBRDADDR(r0, 0x8919, &(0x7f0000000140)={'pimreg0\x00', {0x2, 0x0, @remote}}) 20:02:55 executing program 2: syz_clone(0x0, &(0x7f00000000c0)='0', 0x1, 0x0, &(0x7f0000000140), &(0x7f0000000180)) 20:02:55 executing program 4: r0 = openat$null(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) getsockopt$inet6_IPV6_XFRM_POLICY(r0, 0x29, 0x23, 0x0, 0x0) 20:02:55 executing program 3: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) setsockopt$inet6_MCAST_LEAVE_GROUP(r0, 0x29, 0x2d, 0x0, 0x0) 20:02:55 executing program 2: syz_clone(0x0, &(0x7f00000000c0)='0', 0x1, 0x0, 0x0, 0x0) 20:02:55 executing program 1: r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$EXT4_IOC_GETSTATE(r0, 0x40046629, 0x0) 20:02:55 executing program 5: r0 = openat$null(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) setsockopt$inet6_IPV6_IPSEC_POLICY(r0, 0x29, 0x22, 0x0, 0x0) 20:02:56 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="f20c99596c85889b9030c36ff09ef4e543f045b889ec3a9b8f9b6db07fb42d7c9d77e9195a3346da6120e1edb0a23414147000f0e2d8ccd71216d8cd789a9b711539a93b32ccb547a26489749cd038d5c1aa44214df6d33cdbcbdb2cf8f324762a3cf8a27b87d14732e8d238f96007adf8c3deab9fc5e75c13ad467e04b76feccaa71fe87ba2528838336731153ad92ca8feac48f8a32db9ffdc06616f47995e97779e9a21f2122df5e28d9dc2ed4042c81af9a6ac81428cd94f7c0143eae5428e7b6757bb92d59cdb2123c3141b2ad6fbc2fccf837e429f0fc03a8351bdf6bb9dc6640456c47942ab7085ca5b6af062470de60c59a6ac6348b839d3006f72064b478239efae9dc5b6693a17857fe73c1a6b4639857431e40954576aaafc18c1ea3784e8a4f91cfea4f431c9db564352f2d8bd13d536e9f2f10e5a8a94e259357387bde9440ca93cd999f8989a2133ab4837bab3e820c13eb94c91279d2c29838395b517c36be671264c905c28c05fabd71c8d80464f600f0e62f3b50d73d1776a2fb9e3cd4eb119fee0ce0c969c5333f27042e507aa2438c80d7ce54fa5baf3c3676e66d589cf03ed1f5eb778869ff331c14d770e4760f32972233d87053419a0f0c977a1d0c4d9ae8de6a8a8adb288ee1f935c68e74ee05a15266e4ff936b48ca8da0f4f29e71320bcc01b70f9a19954484f37e9d7bf23eb5feac99b709817b1b7894b9897c88575703c21aa55b361f8137687b2348a69aad1bb5d76d9f8b011ca9b795b6db2b4b1bde9acb5512adc4de503473457fe4b503a95c4fb129dd707fe0cf371e34d0416a3eb7d3deb93d9747e55bf3c957f1f0e0b5d9e78bcef25b7e290263870bc526f7dbc81c691126d73c84d3f04fd06750d94fd1010563cfd23c036e7b48d2ac230ef4fa3584288e5e86b1f9bbb9926c32fd7ae47a7320e696c9bac75b1bcf1c79c528118b6887a7b9d0789bc5ca8c6abcec94c57ab9cfdc9302a64c8fedf8e93dbfcab1c9e8fb22ddd7f9c693c882cd886f40beb5f189a7c2f0d080fffbb6f8614c2463ca82925deb338f0d3b27ce3e6ef261e2f630a583810f2e3702afc05b50678fcacb6dcb36032aa5d36cddb24a1d5f271800c8f9741dd5f6a311a87d1658acd94cf78a1aff3730d9a1ef89d0dc175eb403b69ac0dc8a2b1e9590bae99aabcd504f02eec75e4e5ed0a65991e4696bd4f77ebedb0f1de20f6b7456eda5a36894923e21e60f80a91fd1c169a6a55c5a6c7e8677edf53fca4f8b1f23820fcab6a3f5ed96754a82fd6e0d40c1e9d801bd08a7ae486b277fb6ca55464a764d5ff5d276f4868dadd57a0274f949673fbab132d791e45df0bfe10531f4c28421aedf75e2574170b48d4e6bdabaa185fef9cf5cfb2b8906f061c5c966269b8eda22bb95500a288b34b8ded72f210b923f3389490a896e1631ce945219ec65d817fd0064ede96b603fe8af95d6af2b78af02e2829b683b1ebf55451fb21fe0691b5d22fbc9a1a2dbe17856171bcd31868682b7ab03ce4c9ae553b9c4e1ce948dfb12d7d3507b1350a466111f1e9d330cbd28509a69fa061c703269b6e39a3fd61a3bb06f9712141a012e9f1977d6a79f843050744a699bb171109d52c7677844d1e068390739db8a9bba0e1a740e549376c4ce5ff0359ec042baf2de2d345ef6ba296bfbc08b7cf198beb7ac26590f92784e40bbbc6e80557009539314d880452c56a28d0af3fb0574c7fc75e92234a2fb82782f56f35ca54096b941da55f384221208c44730bfb1855ef877c321d02deb1d202679ca8d4961cb82999e7a4cdaaea908a16a85e1e5cdeb9f0cedefb6e232c4e9952a58933b3cd2eb55d2668d1461dcc2bd34654126319d3d3ed655e87336a3bc73ba7fa32c73a47936980bb8e88ef7ceec1ece50dee8d09738d21cf662cc5a1549c656bbc8e425654f56213cf3581d8fd0652567c152835d1f9a4067e210379ad777a7db1d9e2f0495cc998f24a5ecdd39c141e3a6a0a84166f4b6e15910e93f2c3ccdc4ac5715d52cb014b94e3e12822eaf0314561e8119d38486d6335015fe636a7f568c0f7ace23207d36a545d0d2d2e9de548fd6291935647e8f259186c3110372e1e0453f1787850cb4447da2366e0cfd6897383df4c692ac3fdb85ef2ab0628f9bd7314c294dbe0da82d8de0efa72b00482b2eebcdf782d7d18c855febd0435ee3d2a5aef0c101b063e891124adbfc7bd947c87b3ec60083fc7c1e3139bdd8cd6c41980766936561d4b295f2491c8dd30ad7e5427b9867a3ade82c0840c9658ce4829d7d22a12537f50e5fcccef32331b6eba183cb4bee71a9ec064a902b48a044272697931f3f8ab9833f432354891a73cc95f4361052fe2005a76d97e0f80decd90a6a7d23358944ec7bf8cc9fa7501e79127834f3c9e32176668ebcec28a51f949878480d7db46ce07f108595858e9967aaae943609c81ccad596452d4c759fc5a0637be0acecb3511609bfca4aeefd7d9a53598b85e9902b094c022693abbdab522b1c21fae192f9f4f1daeb4bef812495f8e85fa6cda0107bde9c9c05bb55c824827ed2d0132d0dd327ece6d43e5458aaa214e9f336635f7b0931a1cf492119de81cd191bf4082e8e26f570ee887ee1a0808f39b5459fbfcfb628c2e70b2c7c9367ec1a12b47e4c9124b9ab5f4762a27e3c8a1090ec2a27d33961f94bc66cf3be9ce9adb26b960bb8c8f7c48099d685b453d6796517fdf036fbb6edd42c46f7710f2ade2c0be6af0d6659a6bf48dcc5a991a34f402bec0146814282e65328f2ae87b78b1506e68983f65f121180767217f587d25dd5a68d2809f7fd3d609c2786af4460cf88ecc2a7a2c0067f202c407df1da60a79e35d44a5525fc881f9b54937f7009a04f27ce4d8b7aa139b7f1cc3c7c0e90a8d114f30ff365355a926b80af641c08dced62f5f14ea1767a6a4b3bf14db7e3515f48be849638e059c62ea997b229a9e6a77ad0f1a1773e9f27e05957d3485fb55bcf9e0da8d768007a6fa02dd9de4d475d631d90bf6d43c33f265b58615f6ef1f430f3ac8d04fd0a332a18516f0d8bd0f4c4bb4a2e055e65250e356efd52ea21aee7b44ce276d081eceb6e9d2af73beb39ca93e2701844c0def42c49fca79271c9f402b74e3fbf2393cb7a42dc42c877353a4bde057465c4ad3eda8679c3960cbee2fcd41411a7b265b7ad19ab14b76d0768e5c05b5e7117b12d222bbcbf976eff9e84303f93c8145c0936aaeb150ff9ec7aa1cd06f4cd5ca698addcd86349fcd1b59e5d0a779356594c9a3484797c4515b194038588eab3e40a063f43aa15c0f9a8388c467bedfc1a3febaf6d2e54c014b05ec8446083cf5733c8fcf14daf8386d2841d03d80ada5cd3328463f543415845c48fd894134781aef5991639850af77ddeec3d4b72ff29075addd7442f821ef2041b8963d93b6e9bd4ba7658f0c234543fc47bdfd4a7863eecb73c167eee39cd75db3263655900de8bff1c64bc717af99a5a0b32ff4fed5b87942606ba46e006953760f98f06964639a6dcecd3a4916d1d854ffec03c2190fd676017760192caabb5cbe8a23188eb6bf0e02479cf6af79fd18739229d5ea89e21468aeba3459e9bfa89e64300e121a2c85e2a652bd5fdb1330f99eb207599372584637840e35b4984ac1c9923cccb549fcc66c751fb92d99dfb82c64b401b80a573a4799ebdbc4feb5c4ceb1e285aaddd89ddc5e2f5e90ab3ee40e8a36abbd7387cfafdeebb55201f87b501c2dc191fae82f49e14664b45b7e50deeb5b3124e69b52f16627ded6f2d9da3b5dd3a64f89885ba958ecadd869a5469cd9f5a082386e4103fa84d0555d13baa7f0c87df96b00f9bcbcaadc7cb2ea2aa73dfb8b10c65dd69ac09e4989a59b75f062e7648a3f8f394f8ae77d3b3123c6df3c230be97a8a468bdd8795ca73b8a9e63e54a670feaca4a3924e947079e3cac7a8f1cf78896f82c0fb39a0eea1fe9cbfa01818af28ac8e8fca5a75855ea2a4919e6dc5b647f1b16a1aa5621dbc6a7755e886f401fa0e91a603733d02f6da653defedb79d50fa483c3cecad16324ec7c9a777872374d651b03693d31ec8f7f246147175f0598f289c7b25da7a611a8bbad9f3c0888afabb6f7cfa459a22a872b0b5b0f765d94280f49a3d5fa5edb40cfc1d2bfb9518203caf0001aa679a5a98bafd00d261465b6ea7aaa4f2995db0ae83924d322f514d493a3c67ac12259a93684cbdfca63fab542dd24007247a3b2b5e2057ebe5a12af52649387c374c7952a4e3f25c1167b3d131717a08bff3c861599625e05790e01952af22ca911131b6f35ea24271e3c01492872f25f124a0191f58b5da8f6a4fba4ad7abd3458e552e91be75d192f2891832fecbc4c8fc6e3a94fa02d1602316bfecb430763a71bb577a180195cb77fc86f2c02f1df95fb46488557ea476ac5342e532ec66ab2ea6e1f09f92006938dd840ce58f7c92c7665c2255268ca2753c357b5ada01edab5ab83dc1328732e1d132407eb2aedde5e47104ed826640629faef614546bf885a6e071b11fe406ed5367d69adcc6a91d5f284a9d82abaf39e437ccd709349dd841bf39b93e0ba6b721fc2725f1baae0ba0eab0960e4ff78e6ff4367337f562a3cb1a17ba527cd180f31b5c4d280e6f1127b5b0788a42e69ac25c2a1d1e5271653a653b4f36a819c5d1e413d7807828a4ccd8a6bcdc9bae71dc7cd03d63acd7dc4e47561be3c6a0ec40ea7be9213478e10346907822ff10212bd9a31a7c06f6ecc24e76b806eb4cea69a29c7349fbeaf31aa195cebe7194771ca0194055a096dc297c0c7925f62de62e133e1fd2da07aacb658109b8422916c66d4f665b15db346bf7fa901adcd49327a64f21bdf7bd5822b0a1c3b6348241737736b3bcb4a4b74a2160f1a41fb73baadcebe2c16a9e474c7087e8384259dd3e039d696efb8ea10fa53cbc1273043f6280b2f2b28496b863fb982d79c696a0729178226a8bdc567d51a0608e7328390f648f73d2dce316afc73743b6e795f2bda31c5ef88fa8c9aae1b3b14aeb8841096907ce10b8af2214bdf8888166fa660f0c207b83929dc238352563b882da59c6094f114488261208ad68ae07c867cae26734b3655981f233a82a83d53467c4f25d4a1d223bf9bf4d1be49c985e7c2c04bc51bf3eda0d1ca90e0038113055548caf27486546c437f549d4c253b4607da079ebe9f318695dd85c23f6db4a34b32ff96b1b2a2411496f00f2fc627b00ea52145a8098f76979af9dc9a35981ac7ec8653765d0b514591bd276df961bcc0a7d900ed8486d9944283d0f1ae8a27b36614be92de600c2f4fd32fa6348b4e94175dedb8da867d3b2102ad14871c0c8813f22c7ced6c8e70678e4dfcb6289f720785728bcd5e859933df824a2ac08f2f47e365cfa246c79d5411003ae90f1e14d773694271d1c6337321235329d3eade8cc33b3af114a4efc7d8606a72bf12c1f67ba2bd9495be63fb55cc2d56aa8a8e420b4c5bbce29201d7b696f94a13324886b1b44b2244e101893d238667fdaf54fcadcd3bfa231d15cec8bf43d23127f4c65b789f4a0a0681b620c1e6cf96da468d545f6ec6b608cd213e7212110d397e6b8f8e8ae666a8def88a37c82eb841b456b8814edf9c91ee1a58c0567923ed6284c9bd5c401fa1ebbafe1b3501764a9aa46c85c12b842a4b1b14442c1352eebf8c2153f1d4811e7c5ff9885b1f852a1136474ff37ed1bde0966ccdf7600bbe12973e3427f0a81a4d2e8394e7d12affa7f08b19a819914ecf7fdabf4b244bcad2fb191a9613a86ed2cc8f3949966f4ec797bf1fd2ac890addc599d9d12881a904e495aa7dce820aede704f63eabedbb964621da2c0cb06fe029dadeb6b9e158a5b956b9f4efdd89328ec8b221eb6b5f11c11ec813e18335a30941764d629b8101ab3835fae18683b206e31131a4f2bbfe7fb6d80f0bf83089ccfc8659f5e2d15ceebaa795db05ebdd6ef35231be05def7b82515665da6a26deafc67e899e94921b7d7db96a42857845290bd3ca9f8788aaeba04f3641a2740aa5a2fa1caeefc1cda1221391c5e73b10ccdc68540ba52fdef5249040079b2641459790ee2ba8ef6bb6bdf5abb5b580166f3682f4cf1c8e580809ff0e8a8711b3ab31a6e7c13bec0999f15315b8fb5fd524e3acb7a741eea892fa4693a2af64c9babc93c48ad895aa44309da5919b43be072ae50fd3509ccf7111297ea4d02626c24f1bc574b5fc32bb8ada77a924993cfbc2509873910a0991f166c3bb77add438f039b21097036952a5149f5a7c6a8c42ca490214d6a0dc4e673270f86665b8a774d93e0c7c4a27a12646c94ca5c2bdf8919dd04707113682b1664887d17c39405ec9c54f04e55a96c6037bb3eb83b9b1e72dfe6394e45df8503c5b9c13e265d01d48f6dc1ed4ed627494f0d7a9bed616c30ef48952589712970e7ef152b94ef8eefd7827a28be7d6ddd3f6aa948baee5c11a7b7246ed5bf4cbabef74d39626a3759e1432a545dbf4ddcd0109a943c1955e82be4c6be533d2f6040b575cac111967a5e2e5933ab1bed2178fa58a7464613f6e8b162cebf91e43678bc070a4a98be6a0e6cbb57a0fb3b39133ff49a20f5f10cd2d746e3405e3560c738c951b97e7ef74945421c0bb9a3b53a04aa8a476c8cd8aa0a7fd107f5a4fd0dc2f0858c429e0dcd11da525ea36f6431a90a645d5080a5f971ac5e1ad4544e711d04ba85f6be4fc3ce5d263a6a121ff63201af968c4627d7f7b4121f74718051cae0e1c17d115bd56b673ae98e057ff55c3d7345097e43898219c05cf5be2655473df468d9f7c626d219f2044418cf5beddaf28a8841b0addd5171e0e392d42ae61d0733b75644bb91005626ad8ad35ee75ed19c031773f3d9cbb50307b44140fa37db3e9648f7a31ad0d388755e587caf3936d79ee81bbb08714712fd54e121f2bcbcbbafcf22e99330698a1b714ef1c41418714e00ddb7002590d8219b2c21bba11fc4e4106f88e696178cef7366bc46feb6a407a94a61cd643c952b5e1cff54faf725e325b9115793ca755aff8f5627872c65fee0ff0b022b97496fb5f74e7eab7cc072524d0d34c16f79d381fbc90366a87a321bb7d70cdf0dbf59808e5badaceef3258fe158d177faa749c5bb75f98189a5fe11a18d22d5750fdff13c7f7bc2890dbc5702345156cc3a7f6a1acb2fa359c3e1f3d4daa7533d5a3f5a7d47c905ae968074de059e2bb72b5d43ca8f699e48a2423a263ae4df4625bbb1508d1025852eade7a6d1c5c71a9b2a51034ebb96154caac7383048305a44a1e6364791cade26567ebfae35313fc480da945bcb3b679b17c166da0e021618c6c630464f0d7672a897f220e1647350160e6b3ccc4fed292acc3c444f94f944ac4fb42c3211bfc84a820768caf10f48725cd707480c414d49ea0e7a8416436c6991684b5d21d1b51468ff5bb659dc9274a8c9373318dc72c18f2524541811bdaf34493482652016f939650d2918eab7631eba830637e44b800e29ebc8b28fe05c36c38e668f0dcc43fbeec3577614186f3432e589e01fe99e624073d0af61a09ebddb37dfea29507231b79337cd9da77c4f50bf59789c2adca85cd5b9b03b3baceda595704b5fc5b3ae0f81922fc8d43b2ba6acba936a8e9ce16138fb8614004950a65a8caffeff4470fe0a5a3a44ae6d7132242284556668071c9d0fb722135765057a78d27f1ef16c7d07da6428b3a39a2517951099899a2c8bcbfc96778b04674f5574a78e7362226f4725232d6e92f4bc635568e94eb0663d1fea12140cad637ec9b404c7e10c6cc3a1baeda06eeda8832c5f75a31fb5f2100f815721fe2d90da84e842edb08331081bba6ba4f12115f09023391927c0439b326155be1615800e1f7e0d5dd771391f718f9327dadfeb8ceb1582f50cbd4306e0fefebe83ce6682b18106b0823bdb6f8545302945328a86ee9e78546b7c3a08b472358ce727faaafe6c387bb1bacdf13e4db46774f15853af26f9f14de7653b3257072f98d567ab226f43a126e5af15b28fc7c0837a542bd5fdd673d0e3194ba56d97948408eac8fb29c11ae5db461cbac8c6d28f6721e46f08c184c159179761e72089d474f427453d1a4f4761410e4183072191dc17a5faeb89f4294a9a62b7878f67df54c94c4e2e338f4fcd7004725119d694d731cf4a052bafdfa27336d1a3c0f667351deed239c5e85ba7a822f173f4a747fc98dd96d4c57c087ccf8547b0b3a04130e53222b1e30153b9c7ac6633709e2062fc87561bcf4a97b18fb3a397d2ff816c3826ea1ce7480965bcaebd4acb91333c979dc5ca6d79720160ffb3ad56fdd8797bbf0943ce8f5d94d13721cd6cfce005e27da1365083fbcfe4b9c9e0cd94b3bbc4e6ca2e24c64549c62882b77b2f9edd084d35027f2d4f993612e661f1785f41458bfbb02736e6129abc7372fb3f10d3599a1273b5fbf79e381bd67b03f27f6d1cc764ba6897487f68993991a004c5002b90d1d8a7a8ec28d27a09d7a7176af2826222aada79389a38a4ccf1dc2dd54086ed6ed27399f756da0d1439733d3df9ecac481c844a914c2f7b1135dc84aa016a3583e2d35f827833741f97eb7fbbbf4bee424e5348ee3aec16aa6ade123345fd48979bab31c1c9f6e79678477d3b93e1b64b6ad3a056f485316e813831ed39ff64765fc006fe0b75cc20047cb9bed4071c7618a82e0cb3197cba1f42582eee7a1bd2426cf65f913003a8878b73026003f1fbbe84280524df56395d08a8649f48bffc5d1331838840b71781760efe055fb9de3bb301692b08bb68268b36aae9c8342a641482a3202b5f2eb8ffe2571b7e58065aef77a6c58f66598ad288f3d7b0bbee6eabb67eadaa9af040c148da3cab5e002589de9e8b3e94f9c1983a81cf2e5860091ebb5c41e5ee0254865026b00982173ffd69753d6394d5db1bf2a46fee5bb509a14593a8e3815241cfb1099e28af62ae321ab0c376750726b98d4bc35536d9cc328c83789d939e39d2ad770c924b76cb2aeaff31de6938b04eec546d532bbb770ab352ca3b66d52f87af76fb28c19e4c481baea62e773014bbb4b647a1ade14b84b0aacc38612d6dcf939904209cddc553b0a0274d96471915abd60ef76a1dbaf92be994e882fe0c5c9a049cc632dce3952c9730270df1d312a94b85a325744ba53512ca1abc68cf2453b02698d18fdffffff784674d2c8ba5dfe839892f8e56eedb378b7f5947272f9634c8ce7aea1324f0f034c63d427b605015d279d0508f52c967c4ae24f6fb39f78bd75b1a18873ff4ddf6fe6950fd83a723805a2c05dd2bf4f7ad494a0fd9cd8b5fb12743062d90e9b4fc421d13025694b1253f0a780a571e33833d705cbe4e248fde3587d1b4456b26cc2d5a957a67a7ee0de9f12dfa652231d94ee2a2bbed8cd631199b484fc1ac0f72455c9cb1b421a0d120acb4619bca83e21a3e0f2b8467740235e3ec448462eb96d2e2cbfb8ff2e9865cc83878f7157a970ed40e8e96414fb7b542c4f16b40206ec64704364e39d404013c929cea93280d0c47026e9cd17d42a2293e2c79b1e82c46d4dbab1743422a327b13e4df430367980fd4a80eb84fec3b84de027ee40016e1a8a65fcf84358d88cac80d44b88940fbedbeb87a5e65759c581c1380bbe46080065b8221e4d1441b758e2d19d324f9562d1240efdab2a1d85086e554d2ba8713a2d4d252c163106d05b1b1d40f875f97326dd44b20c16c734f2001e8e5a972283741e4e8cff3ae269590f07fa1bd0caa2faf2bca9e57f78001212b53da5fa56e14bdbeae91ecc48cdea4e9855544e2f397ae6c62bdcfd970934af68c4c8e0a672164c8b8d03ac9491fb01ec107eb893a711caea8f6ff7bd1c3936353e647590037945d6afabea2e370c9dfb4be0a6bc59b669bd5b524fcd59f88daa8993956743c6bbe2353292ee08364c2dd247e208d64429b4ea05762c7003067a57f6a510ddf28ea53e4b74756594fd73e6878e8a9efb502f9d420fbc055ae5d29dbf8a04eedc0d161c5d418ab0093c158a3860f2ce8c58fe5e20b7a15936e819f41578c4682b8c820c8144bc156a765b09c6e39d06ac9f468978a318b4728e6a2d4444d9ce9adce3461033b4cd3ce72cb40aa47a71f228bec64a74ec83f2cc0e54da8bb75fb2d22c2fe1eb22395de5d204b77a8ff6dee8b4a0e43141792fc45c34a51970016a9f4f123d30ed3f8ad9204cfdfcb7ab3dfa2fd38ae60512ac40589e7d408d3cfeb744696f4e97cffbdf88595bf863ba2e371ea413bd83e2bb08b7bb4205fc8624d2acd869655998a0114a53c7b53948367f02597556f02dcc7f935c8bb4113596fc29e2836a43aff89278d200679251c5dcf3b93ac6c8a1b5aab175ec73f2fae15f33ccdd8223852f298f051e8f4f7515c5db2ef088631d92d1d7340cfccd40893ecc3280c3de539884dc492a8ff9c1b2ab77060a45fc0af692659c0b34fe286ba99789e1502fc53446d9f2c15303b4ba2281ca9e69f9358f75f3eafb12a5e02a15460bdb8c2c4466c36a41a370ed8984c0d0d759fe702aa7b232fdac28b4bc440415cad1ea029c944c0455aa9f8c96deaf525b290565df3fa8687be31f7f2cc98b872e0e6d505e21b43b736e47e3882eba602ae8e84ea9e1b01c2e53b2d9af9519203c705c8a6e31545e0b09723f766debfd88d5016e8e4708d612336e284f94c10d050609e7ec2fb99011141f5b22ff808b98d940867ce62dd1dc47906b0b979c8c9fa368fed43fb0f6921ba9cda9639fbb861baadc1b12dab3229b86d31631f7fb0dc0df919a6ac0a31e1615d3116a3d29d1a9ac34e25a12dbd3ee3b6cec4f58eac27b80ab91076978ed2b95d3f9789b46da999e568aab07e4987dc642dfc2d03edf0b281a0271a4002b4bede13238287366c27de5632d7fb780b967d8191506cd521b1514dba003bcf8e1492e615c8b8d8d6eea9f742aff79499a836d2772c2f5638fddd2a1c76c5c721f5e9172548852d1a3faf1422a300815ff26a7965b5bea42150a21ac8fb3b5d4a8e2a9b89849b9056db2d5b9328e8803257973a916bcfd3ab9c240f9686855d40feb196549c39598ec0b1b942d87570d52a25b5ada44e9fbe77010825b6f862dd4aa4b9a43b5409f5c274bbaddf66b39971730f27b0f7824ec75437c2c5d2d7bd8d4ce099633507164b10d5e19fd1d2fd3274a6a0e931fac3cec5c2c75d2e4dc3b818c31c8431124894322603cb8de65611e8fb558ac68245cbc2385b43a0d0228cd3c57a49dfe2f686e46add449d80c28182d6a70055bf42aa1d07ee709c9e20fb3288bc58c0dd898181f0a6d06a0c72ddf729a0bf4146fde9eafd4bb04f23b9d9d382749f48c94cd88136217ba575885c43fbc879b932d5ed03f57059571ab86edaf2b572b3243408634c95fc1b161fc5d9fedbcad148bef704f6a0637e332a2b11052586918263f1ea280a1d0e339f38e17e3f1d0f1a4063c693d4868fbc654362a8a153b6fd2e3361af233779ddadfae5ae0b364f1b1fce7957c0e3b0275acd600", 0x2000, 0x0) 20:02:56 executing program 3: openat$zero(0xffffffffffffff9c, &(0x7f0000000200), 0x10000, 0x0) 20:02:56 executing program 4: openat$zero(0xffffffffffffff9c, &(0x7f0000000080), 0x202040, 0x0) 20:02:56 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) recvmsg(r0, 0x0, 0x10040) 20:02:56 executing program 1: openat$thread_pidfd(0xffffffffffffff9c, &(0x7f0000000200), 0x40000, 0x0) 20:02:56 executing program 2: r0 = socket$inet6_udp(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f00000001c0)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, 0x1c) 20:02:56 executing program 3: openat$urandom(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) 20:02:56 executing program 1: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/devices/virtual', 0x284800, 0x0) 20:02:56 executing program 2: r0 = syz_open_dev$loop(&(0x7f0000000540), 0x0, 0x0) ioctl$BLKIOOPT(r0, 0x4c08, 0x0) 20:02:56 executing program 4: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$sock_inet_udp_SIOCINQ(r0, 0x541b, &(0x7f0000000000)) 20:02:56 executing program 5: pselect6(0x0, 0x0, 0x0, &(0x7f00000000c0), &(0x7f0000000100)={0x77359400}, 0x0) 20:02:56 executing program 1: r0 = socket$igmp6(0xa, 0x3, 0x2) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8924, &(0x7f00000003c0)={'batadv_slave_1\x00'}) 20:02:57 executing program 2: r0 = syz_open_procfs$namespace(0x0, &(0x7f00000000c0)='ns/pid_for_children\x00') setns(r0, 0x80) 20:02:57 executing program 3: socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8906, 0x0) 20:02:57 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000100)=@ipv6_newroute={0x4c, 0x18, 0x1, 0x0, 0x0, {}, [@RTA_GATEWAY={0x14, 0x5, @private0}, @RTA_EXPIRES={0x8}, @RTA_PREF={0x5}, @RTA_MULTIPATH={0xc, 0x9, {0x9}}]}, 0x4c}}, 0x0) 20:02:57 executing program 1: socketpair(0x2, 0x3, 0x0, &(0x7f0000000140)) 20:02:57 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="f20c99596c85889b9030c36ff09ef4e543f045b889ec3a9b8f9b6db07fb42d7c9d77e9195a3346da6120e1edb0a23414147000f0e2d8ccd71216d8cd789a9b711539a93b32ccb547a26489749cd038d5c1aa44214df6d33cdbcbdb2cf8f324762a3cf8a27b87d14732e8d238f96007adf8c3deab9fc5e75c13ad467e04b76feccaa71fe87ba2528838336731153ad92ca8feac48f8a32db9ffdc06616f47995e97779e9a21f2122df5e28d9dc2ed4042c81af9a6ac81428cd94f7c0143eae5428e7b6757bb92d59cdb2123c3141b2ad6fbc2fccf837e429f0fc03a8351bdf6bb9dc6640456c47942ab7085ca5b6af062470de60c59a6ac6348b839d3006f72064b478239efae9dc5b6693a17857fe73c1a6b4639857431e40954576aaafc18c1ea3784e8a4f91cfea4f431c9db564352f2d8bd13d536e9f2f10e5a8a94e259357387bde9440ca93cd999f8989a2133ab4837bab3e820c13eb94c91279d2c29838395b517c36be671264c905c28c05fabd71c8d80464f600f0e62f3b50d73d1776a2fb9e3cd4eb119fee0ce0c969c5333f27042e507aa2438c80d7ce54fa5baf3c3676e66d589cf03ed1f5eb778869ff331c14d770e4760f32972233d87053419a0f0c977a1d0c4d9ae8de6a8a8adb288ee1f935c68e74ee05a15266e4ff936b48ca8da0f4f29e71320bcc01b70f9a19954484f37e9d7bf23eb5feac99b709817b1b7894b9897c88575703c21aa55b361f8137687b2348a69aad1bb5d76d9f8b011ca9b795b6db2b4b1bde9acb5512adc4de503473457fe4b503a95c4fb129dd707fe0cf371e34d0416a3eb7d3deb93d9747e55bf3c957f1f0e0b5d9e78bcef25b7e290263870bc526f7dbc81c691126d73c84d3f04fd06750d94fd1010563cfd23c036e7b48d2ac230ef4fa3584288e5e86b1f9bbb9926c32fd7ae47a7320e696c9bac75b1bcf1c79c528118b6887a7b9d0789bc5ca8c6abcec94c57ab9cfdc9302a64c8fedf8e93dbfcab1c9e8fb22ddd7f9c693c882cd886f40beb5f189a7c2f0d080fffbb6f8614c2463ca82925deb338f0d3b27ce3e6ef261e2f630a583810f2e3702afc05b50678fcacb6dcb36032aa5d36cddb24a1d5f271800c8f9741dd5f6a311a87d1658acd94cf78a1aff3730d9a1ef89d0dc175eb403b69ac0dc8a2b1e9590bae99aabcd504f02eec75e4e5ed0a65991e4696bd4f77ebedb0f1de20f6b7456eda5a36894923e21e60f80a91fd1c169a6a55c5a6c7e8677edf53fca4f8b1f23820fcab6a3f5ed96754a82fd6e0d40c1e9d801bd08a7ae486b277fb6ca55464a764d5ff5d276f4868dadd57a0274f949673fbab132d791e45df0bfe10531f4c28421aedf75e2574170b48d4e6bdabaa185fef9cf5cfb2b8906f061c5c966269b8eda22bb95500a288b34b8ded72f210b923f3389490a896e1631ce945219ec65d817fd0064ede96b603fe8af95d6af2b78af02e2829b683b1ebf55451fb21fe0691b5d22fbc9a1a2dbe17856171bcd31868682b7ab03ce4c9ae553b9c4e1ce948dfb12d7d3507b1350a466111f1e9d330cbd28509a69fa061c703269b6e39a3fd61a3bb06f9712141a012e9f1977d6a79f843050744a699bb171109d52c7677844d1e068390739db8a9bba0e1a740e549376c4ce5ff0359ec042baf2de2d345ef6ba296bfbc08b7cf198beb7ac26590f92784e40bbbc6e80557009539314d880452c56a28d0af3fb0574c7fc75e92234a2fb82782f56f35ca54096b941da55f384221208c44730bfb1855ef877c321d02deb1d202679ca8d4961cb82999e7a4cdaaea908a16a85e1e5cdeb9f0cedefb6e232c4e9952a58933b3cd2eb55d2668d1461dcc2bd34654126319d3d3ed655e87336a3bc73ba7fa32c73a47936980bb8e88ef7ceec1ece50dee8d09738d21cf662cc5a1549c656bbc8e425654f56213cf3581d8fd0652567c152835d1f9a4067e210379ad777a7db1d9e2f0495cc998f24a5ecdd39c141e3a6a0a84166f4b6e15910e93f2c3ccdc4ac5715d52cb014b94e3e12822eaf0314561e8119d38486d6335015fe636a7f568c0f7ace23207d36a545d0d2d2e9de548fd6291935647e8f259186c3110372e1e0453f1787850cb4447da2366e0cfd6897383df4c692ac3fdb85ef2ab0628f9bd7314c294dbe0da82d8de0efa72b00482b2eebcdf782d7d18c855febd0435ee3d2a5aef0c101b063e891124adbfc7bd947c87b3ec60083fc7c1e3139bdd8cd6c41980766936561d4b295f2491c8dd30ad7e5427b9867a3ade82c0840c9658ce4829d7d22a12537f50e5fcccef32331b6eba183cb4bee71a9ec064a902b48a044272697931f3f8ab9833f432354891a73cc95f4361052fe2005a76d97e0f80decd90a6a7d23358944ec7bf8cc9fa7501e79127834f3c9e32176668ebcec28a51f949878480d7db46ce07f108595858e9967aaae943609c81ccad596452d4c759fc5a0637be0acecb3511609bfca4aeefd7d9a53598b85e9902b094c022693abbdab522b1c21fae192f9f4f1daeb4bef812495f8e85fa6cda0107bde9c9c05bb55c824827ed2d0132d0dd327ece6d43e5458aaa214e9f336635f7b0931a1cf492119de81cd191bf4082e8e26f570ee887ee1a0808f39b5459fbfcfb628c2e70b2c7c9367ec1a12b47e4c9124b9ab5f4762a27e3c8a1090ec2a27d33961f94bc66cf3be9ce9adb26b960bb8c8f7c48099d685b453d6796517fdf036fbb6edd42c46f7710f2ade2c0be6af0d6659a6bf48dcc5a991a34f402bec0146814282e65328f2ae87b78b1506e68983f65f121180767217f587d25dd5a68d2809f7fd3d609c2786af4460cf88ecc2a7a2c0067f202c407df1da60a79e35d44a5525fc881f9b54937f7009a04f27ce4d8b7aa139b7f1cc3c7c0e90a8d114f30ff365355a926b80af641c08dced62f5f14ea1767a6a4b3bf14db7e3515f48be849638e059c62ea997b229a9e6a77ad0f1a1773e9f27e05957d3485fb55bcf9e0da8d768007a6fa02dd9de4d475d631d90bf6d43c33f265b58615f6ef1f430f3ac8d04fd0a332a18516f0d8bd0f4c4bb4a2e055e65250e356efd52ea21aee7b44ce276d081eceb6e9d2af73beb39ca93e2701844c0def42c49fca79271c9f402b74e3fbf2393cb7a42dc42c877353a4bde057465c4ad3eda8679c3960cbee2fcd41411a7b265b7ad19ab14b76d0768e5c05b5e7117b12d222bbcbf976eff9e84303f93c8145c0936aaeb150ff9ec7aa1cd06f4cd5ca698addcd86349fcd1b59e5d0a779356594c9a3484797c4515b194038588eab3e40a063f43aa15c0f9a8388c467bedfc1a3febaf6d2e54c014b05ec8446083cf5733c8fcf14daf8386d2841d03d80ada5cd3328463f543415845c48fd894134781aef5991639850af77ddeec3d4b72ff29075addd7442f821ef2041b8963d93b6e9bd4ba7658f0c234543fc47bdfd4a7863eecb73c167eee39cd75db3263655900de8bff1c64bc717af99a5a0b32ff4fed5b87942606ba46e006953760f98f06964639a6dcecd3a4916d1d854ffec03c2190fd676017760192caabb5cbe8a23188eb6bf0e02479cf6af79fd18739229d5ea89e21468aeba3459e9bfa89e64300e121a2c85e2a652bd5fdb1330f99eb207599372584637840e35b4984ac1c9923cccb549fcc66c751fb92d99dfb82c64b401b80a573a4799ebdbc4feb5c4ceb1e285aaddd89ddc5e2f5e90ab3ee40e8a36abbd7387cfafdeebb55201f87b501c2dc191fae82f49e14664b45b7e50deeb5b3124e69b52f16627ded6f2d9da3b5dd3a64f89885ba958ecadd869a5469cd9f5a082386e4103fa84d0555d13baa7f0c87df96b00f9bcbcaadc7cb2ea2aa73dfb8b10c65dd69ac09e4989a59b75f062e7648a3f8f394f8ae77d3b3123c6df3c230be97a8a468bdd8795ca73b8a9e63e54a670feaca4a3924e947079e3cac7a8f1cf78896f82c0fb39a0eea1fe9cbfa01818af28ac8e8fca5a75855ea2a4919e6dc5b647f1b16a1aa5621dbc6a7755e886f401fa0e91a603733d02f6da653defedb79d50fa483c3cecad16324ec7c9a777872374d651b03693d31ec8f7f246147175f0598f289c7b25da7a611a8bbad9f3c0888afabb6f7cfa459a22a872b0b5b0f765d94280f49a3d5fa5edb40cfc1d2bfb9518203caf0001aa679a5a98bafd00d261465b6ea7aaa4f2995db0ae83924d322f514d493a3c67ac12259a93684cbdfca63fab542dd24007247a3b2b5e2057ebe5a12af52649387c374c7952a4e3f25c1167b3d131717a08bff3c861599625e05790e01952af22ca911131b6f35ea24271e3c01492872f25f124a0191f58b5da8f6a4fba4ad7abd3458e552e91be75d192f2891832fecbc4c8fc6e3a94fa02d1602316bfecb430763a71bb577a180195cb77fc86f2c02f1df95fb46488557ea476ac5342e532ec66ab2ea6e1f09f92006938dd840ce58f7c92c7665c2255268ca2753c357b5ada01edab5ab83dc1328732e1d132407eb2aedde5e47104ed826640629faef614546bf885a6e071b11fe406ed5367d69adcc6a91d5f284a9d82abaf39e437ccd709349dd841bf39b93e0ba6b721fc2725f1baae0ba0eab0960e4ff78e6ff4367337f562a3cb1a17ba527cd180f31b5c4d280e6f1127b5b0788a42e69ac25c2a1d1e5271653a653b4f36a819c5d1e413d7807828a4ccd8a6bcdc9bae71dc7cd03d63acd7dc4e47561be3c6a0ec40ea7be9213478e10346907822ff10212bd9a31a7c06f6ecc24e76b806eb4cea69a29c7349fbeaf31aa195cebe7194771ca0194055a096dc297c0c7925f62de62e133e1fd2da07aacb658109b8422916c66d4f665b15db346bf7fa901adcd49327a64f21bdf7bd5822b0a1c3b6348241737736b3bcb4a4b74a2160f1a41fb73baadcebe2c16a9e474c7087e8384259dd3e039d696efb8ea10fa53cbc1273043f6280b2f2b28496b863fb982d79c696a0729178226a8bdc567d51a0608e7328390f648f73d2dce316afc73743b6e795f2bda31c5ef88fa8c9aae1b3b14aeb8841096907ce10b8af2214bdf8888166fa660f0c207b83929dc238352563b882da59c6094f114488261208ad68ae07c867cae26734b3655981f233a82a83d53467c4f25d4a1d223bf9bf4d1be49c985e7c2c04bc51bf3eda0d1ca90e0038113055548caf27486546c437f549d4c253b4607da079ebe9f318695dd85c23f6db4a34b32ff96b1b2a2411496f00f2fc627b00ea52145a8098f76979af9dc9a35981ac7ec8653765d0b514591bd276df961bcc0a7d900ed8486d9944283d0f1ae8a27b36614be92de600c2f4fd32fa6348b4e94175dedb8da867d3b2102ad14871c0c8813f22c7ced6c8e70678e4dfcb6289f720785728bcd5e859933df824a2ac08f2f47e365cfa246c79d5411003ae90f1e14d773694271d1c6337321235329d3eade8cc33b3af114a4efc7d8606a72bf12c1f67ba2bd9495be63fb55cc2d56aa8a8e420b4c5bbce29201d7b696f94a13324886b1b44b2244e101893d238667fdaf54fcadcd3bfa231d15cec8bf43d23127f4c65b789f4a0a0681b620c1e6cf96da468d545f6ec6b608cd213e7212110d397e6b8f8e8ae666a8def88a37c82eb841b456b8814edf9c91ee1a58c0567923ed6284c9bd5c401fa1ebbafe1b3501764a9aa46c85c12b842a4b1b14442c1352eebf8c2153f1d4811e7c5ff9885b1f852a1136474ff37ed1bde0966ccdf7600bbe12973e3427f0a81a4d2e8394e7d12affa7f08b19a819914ecf7fdabf4b244bcad2fb191a9613a86ed2cc8f3949966f4ec797bf1fd2ac890addc599d9d12881a904e495aa7dce820aede704f63eabedbb964621da2c0cb06fe029dadeb6b9e158a5b956b9f4efdd89328ec8b221eb6b5f11c11ec813e18335a30941764d629b8101ab3835fae18683b206e31131a4f2bbfe7fb6d80f0bf83089ccfc8659f5e2d15ceebaa795db05ebdd6ef35231be05def7b82515665da6a26deafc67e899e94921b7d7db96a42857845290bd3ca9f8788aaeba04f3641a2740aa5a2fa1caeefc1cda1221391c5e73b10ccdc68540ba52fdef5249040079b2641459790ee2ba8ef6bb6bdf5abb5b580166f3682f4cf1c8e580809ff0e8a8711b3ab31a6e7c13bec0999f15315b8fb5fd524e3acb7a741eea892fa4693a2af64c9babc93c48ad895aa44309da5919b43be072ae50fd3509ccf7111297ea4d02626c24f1bc574b5fc32bb8ada77a924993cfbc2509873910a0991f166c3bb77add438f039b21097036952a5149f5a7c6a8c42ca490214d6a0dc4e673270f86665b8a774d93e0c7c4a27a12646c94ca5c2bdf8919dd04707113682b1664887d17c39405ec9c54f04e55a96c6037bb3eb83b9b1e72dfe6394e45df8503c5b9c13e265d01d48f6dc1ed4ed627494f0d7a9bed616c30ef48952589712970e7ef152b94ef8eefd7827a28be7d6ddd3f6aa948baee5c11a7b7246ed5bf4cbabef74d39626a3759e1432a545dbf4ddcd0109a943c1955e82be4c6be533d2f6040b575cac111967a5e2e5933ab1bed2178fa58a7464613f6e8b162cebf91e43678bc070a4a98be6a0e6cbb57a0fb3b39133ff49a20f5f10cd2d746e3405e3560c738c951b97e7ef74945421c0bb9a3b53a04aa8a476c8cd8aa0a7fd107f5a4fd0dc2f0858c429e0dcd11da525ea36f6431a90a645d5080a5f971ac5e1ad4544e711d04ba85f6be4fc3ce5d263a6a121ff63201af968c4627d7f7b4121f74718051cae0e1c17d115bd56b673ae98e057ff55c3d7345097e43898219c05cf5be2655473df468d9f7c626d219f2044418cf5beddaf28a8841b0addd5171e0e392d42ae61d0733b75644bb91005626ad8ad35ee75ed19c031773f3d9cbb50307b44140fa37db3e9648f7a31ad0d388755e587caf3936d79ee81bbb08714712fd54e121f2bcbcbbafcf22e99330698a1b714ef1c41418714e00ddb7002590d8219b2c21bba11fc4e4106f88e696178cef7366bc46feb6a407a94a61cd643c952b5e1cff54faf725e325b9115793ca755aff8f5627872c65fee0ff0b022b97496fb5f74e7eab7cc072524d0d34c16f79d381fbc90366a87a321bb7d70cdf0dbf59808e5badaceef3258fe158d177faa749c5bb75f98189a5fe11a18d22d5750fdff13c7f7bc2890dbc5702345156cc3a7f6a1acb2fa359c3e1f3d4daa7533d5a3f5a7d47c905ae968074de059e2bb72b5d43ca8f699e48a2423a263ae4df4625bbb1508d1025852eade7a6d1c5c71a9b2a51034ebb96154caac7383048305a44a1e6364791cade26567ebfae35313fc480da945bcb3b679b17c166da0e021618c6c630464f0d7672a897f220e1647350160e6b3ccc4fed292acc3c444f94f944ac4fb42c3211bfc84a820768caf10f48725cd707480c414d49ea0e7a8416436c6991684b5d21d1b51468ff5bb659dc9274a8c9373318dc72c18f2524541811bdaf34493482652016f939650d2918eab7631eba830637e44b800e29ebc8b28fe05c36c38e668f0dcc43fbeec3577614186f3432e589e01fe99e624073d0af61a09ebddb37dfea29507231b79337cd9da77c4f50bf59789c2adca85cd5b9b03b3baceda595704b5fc5b3ae0f81922fc8d43b2ba6acba936a8e9ce16138fb8614004950a65a8caffeff4470fe0a5a3a44ae6d7132242284556668071c9d0fb722135765057a78d27f1ef16c7d07da6428b3a39a2517951099899a2c8bcbfc96778b04674f5574a78e7362226f4725232d6e92f4bc635568e94eb0663d1fea12140cad637ec9b404c7e10c6cc3a1baeda06eeda8832c5f75a31fb5f2100f815721fe2d90da84e842edb08331081bba6ba4f12115f09023391927c0439b326155be1615800e1f7e0d5dd771391f718f9327dadfeb8ceb1582f50cbd4306e0fefebe83ce6682b18106b0823bdb6f8545302945328a86ee9e78546b7c3a08b472358ce727faaafe6c387bb1bacdf13e4db46774f15853af26f9f14de7653b3257072f98d567ab226f43a126e5af15b28fc7c0837a542bd5fdd673d0e3194ba56d97948408eac8fb29c11ae5db461cbac8c6d28f6721e46f08c184c159179761e72089d474f427453d1a4f4761410e4183072191dc17a5faeb89f4294a9a62b7878f67df54c94c4e2e338f4fcd7004725119d694d731cf4a052bafdfa27336d1a3c0f667351deed239c5e85ba7a822f173f4a747fc98dd96d4c57c087ccf8547b0b3a04130e53222b1e30153b9c7ac6633709e2062fc87561bcf4a97b18fb3a397d2ff816c3826ea1ce7480965bcaebd4acb91333c979dc5ca6d79720160ffb3ad56fdd8797bbf0943ce8f5d94d13721cd6cfce005e27da1365083fbcfe4b9c9e0cd94b3bbc4e6ca2e24c64549c62882b77b2f9edd084d35027f2d4f993612e661f1785f41458bfbb02736e6129abc7372fb3f10d3599a1273b5fbf79e381bd67b03f27f6d1cc764ba6897487f68993991a004c5002b90d1d8a7a8ec28d27a09d7a7176af2826222aada79389a38a4ccf1dc2dd54086ed6ed27399f756da0d1439733d3df9ecac481c844a914c2f7b1135dc84aa016a3583e2d35f827833741f97eb7fbbbf4bee424e5348ee3aec16aa6ade123345fd48979bab31c1c9f6e79678477d3b93e1b64b6ad3a056f485316e813831ed39ff64765fc006fe0b75cc20047cb9bed4071c7618a82e0cb3197cba1f42582eee7a1bd2426cf65f913003a8878b73026003f1fbbe84280524df56395d08a8649f48bffc5d1331838840b71781760efe055fb9de3bb301692b08bb68268b36aae9c8342a641482a3202b5f2eb8ffe2571b7e58065aef77a6c58f66598ad288f3d7b0bbee6eabb67eadaa9af040c148da3cab5e002589de9e8b3e94f9c1983a81cf2e5860091ebb5c41e5ee0254865026b00982173ffd69753d6394d5db1bf2a46fee5bb509a14593a8e3815241cfb1099e28af62ae321ab0c376750726b98d4bc35536d9cc328c83789d939e39d2ad770c924b76cb2aeaff31de6938b04eec546d532bbb770ab352ca3b66d52f87af76fb28c19e4c481baea62e773014bbb4b647a1ade14b84b0aacc38612d6dcf939904209cddc553b0a0274d96471915abd60ef76a1dbaf92be994e882fe0c5c9a049cc632dce3952c9730270df1d312a94b85a325744ba53512ca1abc68cf2453b02698d18fdffffff784674d2c8ba5dfe839892f8e56eedb378b7f5947272f9634c8ce7aea1324f0f034c63d427b605015d279d0508f52c967c4ae24f6fb39f78bd75b1a18873ff4ddf6fe6950fd83a723805a2c05dd2bf4f7ad494a0fd9cd8b5fb12743062d90e9b4fc421d13025694b1253f0a780a571e33833d705cbe4e248fde3587d1b4456b26cc2d5a957a67a7ee0de9f12dfa652231d94ee2a2bbed8cd631199b484fc1ac0f72455c9cb1b421a0d120acb4619bca83e21a3e0f2b8467740235e3ec448462eb96d2e2cbfb8ff2e9865cc83878f7157a970ed40e8e96414fb7b542c4f16b40206ec64704364e39d404013c929cea93280d0c47026e9cd17d42a2293e2c79b1e82c46d4dbab1743422a327b13e4df430367980fd4a80eb84fec3b84de027ee40016e1a8a65fcf84358d88cac80d44b88940fbedbeb87a5e65759c581c1380bbe46080065b8221e4d1441b758e2d19d324f9562d1240efdab2a1d85086e554d2ba8713a2d4d252c163106d05b1b1d40f875f97326dd44b20c16c734f2001e8e5a972283741e4e8cff3ae269590f07fa1bd0caa2faf2bca9e57f78001212b53da5fa56e14bdbeae91ecc48cdea4e9855544e2f397ae6c62bdcfd970934af68c4c8e0a672164c8b8d03ac9491fb01ec107eb893a711caea8f6ff7bd1c3936353e647590037945d6afabea2e370c9dfb4be0a6bc59b669bd5b524fcd59f88daa8993956743c6bbe2353292ee08364c2dd247e208d64429b4ea05762c7003067a57f6a510ddf28ea53e4b74756594fd73e6878e8a9efb502f9d420fbc055ae5d29dbf8a04eedc0d161c5d418ab0093c158a3860f2ce8c58fe5e20b7a15936e819f41578c4682b8c820c8144bc156a765b09c6e39d06ac9f468978a318b4728e6a2d4444d9ce9adce3461033b4cd3ce72cb40aa47a71f228bec64a74ec83f2cc0e54da8bb75fb2d22c2fe1eb22395de5d204b77a8ff6dee8b4a0e43141792fc45c34a51970016a9f4f123d30ed3f8ad9204cfdfcb7ab3dfa2fd38ae60512ac40589e7d408d3cfeb744696f4e97cffbdf88595bf863ba2e371ea413bd83e2bb08b7bb4205fc8624d2acd869655998a0114a53c7b53948367f02597556f02dcc7f935c8bb4113596fc29e2836a43aff89278d200679251c5dcf3b93ac6c8a1b5aab175ec73f2fae15f33ccdd8223852f298f051e8f4f7515c5db2ef088631d92d1d7340cfccd40893ecc3280c3de539884dc492a8ff9c1b2ab77060a45fc0af692659c0b34fe286ba99789e1502fc53446d9f2c15303b4ba2281ca9e69f9358f75f3eafb12a5e02a15460bdb8c2c4466c36a41a370ed8984c0d0d759fe702aa7b232fdac28b4bc440415cad1ea029c944c0455aa9f8c96deaf525b290565df3fa8687be31f7f2cc98b872e0e6d505e21b43b736e47e3882eba602ae8e84ea9e1b01c2e53b2d9af9519203c705c8a6e31545e0b09723f766debfd88d5016e8e4708d612336e284f94c10d050609e7ec2fb99011141f5b22ff808b98d940867ce62dd1dc47906b0b979c8c9fa368fed43fb0f6921ba9cda9639fbb861baadc1b12dab3229b86d31631f7fb0dc0df919a6ac0a31e1615d3116a3d29d1a9ac34e25a12dbd3ee3b6cec4f58eac27b80ab91076978ed2b95d3f9789b46da999e568aab07e4987dc642dfc2d03edf0b281a0271a4002b4bede13238287366c27de5632d7fb780b967d8191506cd521b1514dba003bcf8e1492e615c8b8d8d6eea9f742aff79499a836d2772c2f5638fddd2a1c76c5c721f5e9172548852d1a3faf1422a300815ff26a7965b5bea42150a21ac8fb3b5d4a8e2a9b89849b9056db2d5b9328e8803257973a916bcfd3ab9c240f9686855d40feb196549c39598ec0b1b942d87570d52a25b5ada44e9fbe77010825b6f862dd4aa4b9a43b5409f5c274bbaddf66b39971730f27b0f7824ec75437c2c5d2d7bd8d4ce099633507164b10d5e19fd1d2fd3274a6a0e931fac3cec5c2c75d2e4dc3b818c31c8431124894322603cb8de65611e8fb558ac68245cbc2385b43a0d0228cd3c57a49dfe2f686e46add449d80c28182d6a70055bf42aa1d07ee709c9e20fb3288bc58c0dd898181f0a6d06a0c72ddf729a0bf4146fde9eafd4bb04f23b9d9d382749f48c94cd88136217ba575885c43fbc879b932d5ed03f57059571ab86edaf2b572b3243408634c95fc1b161fc5d9fedbcad148bef704f6a0637e332a2b11052586918263f1ea280a1d0e339f38e17e3f1d0f1a4063c693d4868fbc654362a8a153b6fd2e3361af233779ddadfae5ae0b364f1b1fce7957c0e3b0275acd600", 0x2000, 0x0) 20:02:57 executing program 5: pselect6(0x0, 0x0, &(0x7f0000000080), &(0x7f00000000c0), &(0x7f0000000100)={0x77359400}, &(0x7f0000000180)={&(0x7f0000000140)={[0x400]}, 0x8}) 20:02:57 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@ipv6_delroute={0x1c, 0x19, 0x1}, 0x1c}}, 0x0) 20:02:57 executing program 2: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_ipv4_tunnel_SIOCADDTUNNEL(r0, 0x541b, &(0x7f0000000600)={'ip_vti0\x00', 0x0}) 20:02:57 executing program 3: r0 = socket$igmp6(0xa, 0x3, 0x2) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x541b, &(0x7f00000003c0)={'batadv_slave_1\x00'}) 20:02:57 executing program 4: bpf$MAP_CREATE(0x0, &(0x7f0000000480)=@base={0xa, 0x1, 0x9, 0x7500}, 0x48) 20:02:57 executing program 3: syz_emit_vhci(&(0x7f00000002c0)=@HCI_EVENT_PKT={0x5, @inquiry_info={{0x2, 0x1}}}, 0x4) syz_emit_vhci(&(0x7f0000000040)=@HCI_EVENT_PKT={0x4, @hci_ev_io_capa_request={{0x31, 0x6}}}, 0x9) 20:02:57 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000000140)={'gre0\x00', &(0x7f0000000080)={'syztnl0\x00', 0x0, 0x700, 0x0, 0x0, 0x0, {{0x5, 0x4, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, @multicast2, @loopback}}}}) 20:02:58 executing program 5: io_uring_setup(0x635d, &(0x7f0000000100)) 20:02:58 executing program 2: r0 = socket$igmp6(0xa, 0x3, 0x2) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8901, &(0x7f00000003c0)={'batadv_slave_1\x00'}) 20:02:58 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f0000000480)=@base={0xa, 0x1, 0x9, 0xe400}, 0x48) 20:02:58 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=ANY=[@ANYBLOB="24000000110001000000000000000000000000000b"], 0x24}}, 0x0) 20:02:58 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_NL_NET_SET(r0, &(0x7f00000017c0)={0x0, 0x0, &(0x7f0000001780)={&(0x7f00000016c0)={0x14}, 0x14}}, 0x0) 20:02:58 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="f20c99596c85889b9030c36ff09ef4e543f045b889ec3a9b8f9b6db07fb42d7c9d77e9195a3346da6120e1edb0a23414147000f0e2d8ccd71216d8cd789a9b711539a93b32ccb547a26489749cd038d5c1aa44214df6d33cdbcbdb2cf8f324762a3cf8a27b87d14732e8d238f96007adf8c3deab9fc5e75c13ad467e04b76feccaa71fe87ba2528838336731153ad92ca8feac48f8a32db9ffdc06616f47995e97779e9a21f2122df5e28d9dc2ed4042c81af9a6ac81428cd94f7c0143eae5428e7b6757bb92d59cdb2123c3141b2ad6fbc2fccf837e429f0fc03a8351bdf6bb9dc6640456c47942ab7085ca5b6af062470de60c59a6ac6348b839d3006f72064b478239efae9dc5b6693a17857fe73c1a6b4639857431e40954576aaafc18c1ea3784e8a4f91cfea4f431c9db564352f2d8bd13d536e9f2f10e5a8a94e259357387bde9440ca93cd999f8989a2133ab4837bab3e820c13eb94c91279d2c29838395b517c36be671264c905c28c05fabd71c8d80464f600f0e62f3b50d73d1776a2fb9e3cd4eb119fee0ce0c969c5333f27042e507aa2438c80d7ce54fa5baf3c3676e66d589cf03ed1f5eb778869ff331c14d770e4760f32972233d87053419a0f0c977a1d0c4d9ae8de6a8a8adb288ee1f935c68e74ee05a15266e4ff936b48ca8da0f4f29e71320bcc01b70f9a19954484f37e9d7bf23eb5feac99b709817b1b7894b9897c88575703c21aa55b361f8137687b2348a69aad1bb5d76d9f8b011ca9b795b6db2b4b1bde9acb5512adc4de503473457fe4b503a95c4fb129dd707fe0cf371e34d0416a3eb7d3deb93d9747e55bf3c957f1f0e0b5d9e78bcef25b7e290263870bc526f7dbc81c691126d73c84d3f04fd06750d94fd1010563cfd23c036e7b48d2ac230ef4fa3584288e5e86b1f9bbb9926c32fd7ae47a7320e696c9bac75b1bcf1c79c528118b6887a7b9d0789bc5ca8c6abcec94c57ab9cfdc9302a64c8fedf8e93dbfcab1c9e8fb22ddd7f9c693c882cd886f40beb5f189a7c2f0d080fffbb6f8614c2463ca82925deb338f0d3b27ce3e6ef261e2f630a583810f2e3702afc05b50678fcacb6dcb36032aa5d36cddb24a1d5f271800c8f9741dd5f6a311a87d1658acd94cf78a1aff3730d9a1ef89d0dc175eb403b69ac0dc8a2b1e9590bae99aabcd504f02eec75e4e5ed0a65991e4696bd4f77ebedb0f1de20f6b7456eda5a36894923e21e60f80a91fd1c169a6a55c5a6c7e8677edf53fca4f8b1f23820fcab6a3f5ed96754a82fd6e0d40c1e9d801bd08a7ae486b277fb6ca55464a764d5ff5d276f4868dadd57a0274f949673fbab132d791e45df0bfe10531f4c28421aedf75e2574170b48d4e6bdabaa185fef9cf5cfb2b8906f061c5c966269b8eda22bb95500a288b34b8ded72f210b923f3389490a896e1631ce945219ec65d817fd0064ede96b603fe8af95d6af2b78af02e2829b683b1ebf55451fb21fe0691b5d22fbc9a1a2dbe17856171bcd31868682b7ab03ce4c9ae553b9c4e1ce948dfb12d7d3507b1350a466111f1e9d330cbd28509a69fa061c703269b6e39a3fd61a3bb06f9712141a012e9f1977d6a79f843050744a699bb171109d52c7677844d1e068390739db8a9bba0e1a740e549376c4ce5ff0359ec042baf2de2d345ef6ba296bfbc08b7cf198beb7ac26590f92784e40bbbc6e80557009539314d880452c56a28d0af3fb0574c7fc75e92234a2fb82782f56f35ca54096b941da55f384221208c44730bfb1855ef877c321d02deb1d202679ca8d4961cb82999e7a4cdaaea908a16a85e1e5cdeb9f0cedefb6e232c4e9952a58933b3cd2eb55d2668d1461dcc2bd34654126319d3d3ed655e87336a3bc73ba7fa32c73a47936980bb8e88ef7ceec1ece50dee8d09738d21cf662cc5a1549c656bbc8e425654f56213cf3581d8fd0652567c152835d1f9a4067e210379ad777a7db1d9e2f0495cc998f24a5ecdd39c141e3a6a0a84166f4b6e15910e93f2c3ccdc4ac5715d52cb014b94e3e12822eaf0314561e8119d38486d6335015fe636a7f568c0f7ace23207d36a545d0d2d2e9de548fd6291935647e8f259186c3110372e1e0453f1787850cb4447da2366e0cfd6897383df4c692ac3fdb85ef2ab0628f9bd7314c294dbe0da82d8de0efa72b00482b2eebcdf782d7d18c855febd0435ee3d2a5aef0c101b063e891124adbfc7bd947c87b3ec60083fc7c1e3139bdd8cd6c41980766936561d4b295f2491c8dd30ad7e5427b9867a3ade82c0840c9658ce4829d7d22a12537f50e5fcccef32331b6eba183cb4bee71a9ec064a902b48a044272697931f3f8ab9833f432354891a73cc95f4361052fe2005a76d97e0f80decd90a6a7d23358944ec7bf8cc9fa7501e79127834f3c9e32176668ebcec28a51f949878480d7db46ce07f108595858e9967aaae943609c81ccad596452d4c759fc5a0637be0acecb3511609bfca4aeefd7d9a53598b85e9902b094c022693abbdab522b1c21fae192f9f4f1daeb4bef812495f8e85fa6cda0107bde9c9c05bb55c824827ed2d0132d0dd327ece6d43e5458aaa214e9f336635f7b0931a1cf492119de81cd191bf4082e8e26f570ee887ee1a0808f39b5459fbfcfb628c2e70b2c7c9367ec1a12b47e4c9124b9ab5f4762a27e3c8a1090ec2a27d33961f94bc66cf3be9ce9adb26b960bb8c8f7c48099d685b453d6796517fdf036fbb6edd42c46f7710f2ade2c0be6af0d6659a6bf48dcc5a991a34f402bec0146814282e65328f2ae87b78b1506e68983f65f121180767217f587d25dd5a68d2809f7fd3d609c2786af4460cf88ecc2a7a2c0067f202c407df1da60a79e35d44a5525fc881f9b54937f7009a04f27ce4d8b7aa139b7f1cc3c7c0e90a8d114f30ff365355a926b80af641c08dced62f5f14ea1767a6a4b3bf14db7e3515f48be849638e059c62ea997b229a9e6a77ad0f1a1773e9f27e05957d3485fb55bcf9e0da8d768007a6fa02dd9de4d475d631d90bf6d43c33f265b58615f6ef1f430f3ac8d04fd0a332a18516f0d8bd0f4c4bb4a2e055e65250e356efd52ea21aee7b44ce276d081eceb6e9d2af73beb39ca93e2701844c0def42c49fca79271c9f402b74e3fbf2393cb7a42dc42c877353a4bde057465c4ad3eda8679c3960cbee2fcd41411a7b265b7ad19ab14b76d0768e5c05b5e7117b12d222bbcbf976eff9e84303f93c8145c0936aaeb150ff9ec7aa1cd06f4cd5ca698addcd86349fcd1b59e5d0a779356594c9a3484797c4515b194038588eab3e40a063f43aa15c0f9a8388c467bedfc1a3febaf6d2e54c014b05ec8446083cf5733c8fcf14daf8386d2841d03d80ada5cd3328463f543415845c48fd894134781aef5991639850af77ddeec3d4b72ff29075addd7442f821ef2041b8963d93b6e9bd4ba7658f0c234543fc47bdfd4a7863eecb73c167eee39cd75db3263655900de8bff1c64bc717af99a5a0b32ff4fed5b87942606ba46e006953760f98f06964639a6dcecd3a4916d1d854ffec03c2190fd676017760192caabb5cbe8a23188eb6bf0e02479cf6af79fd18739229d5ea89e21468aeba3459e9bfa89e64300e121a2c85e2a652bd5fdb1330f99eb207599372584637840e35b4984ac1c9923cccb549fcc66c751fb92d99dfb82c64b401b80a573a4799ebdbc4feb5c4ceb1e285aaddd89ddc5e2f5e90ab3ee40e8a36abbd7387cfafdeebb55201f87b501c2dc191fae82f49e14664b45b7e50deeb5b3124e69b52f16627ded6f2d9da3b5dd3a64f89885ba958ecadd869a5469cd9f5a082386e4103fa84d0555d13baa7f0c87df96b00f9bcbcaadc7cb2ea2aa73dfb8b10c65dd69ac09e4989a59b75f062e7648a3f8f394f8ae77d3b3123c6df3c230be97a8a468bdd8795ca73b8a9e63e54a670feaca4a3924e947079e3cac7a8f1cf78896f82c0fb39a0eea1fe9cbfa01818af28ac8e8fca5a75855ea2a4919e6dc5b647f1b16a1aa5621dbc6a7755e886f401fa0e91a603733d02f6da653defedb79d50fa483c3cecad16324ec7c9a777872374d651b03693d31ec8f7f246147175f0598f289c7b25da7a611a8bbad9f3c0888afabb6f7cfa459a22a872b0b5b0f765d94280f49a3d5fa5edb40cfc1d2bfb9518203caf0001aa679a5a98bafd00d261465b6ea7aaa4f2995db0ae83924d322f514d493a3c67ac12259a93684cbdfca63fab542dd24007247a3b2b5e2057ebe5a12af52649387c374c7952a4e3f25c1167b3d131717a08bff3c861599625e05790e01952af22ca911131b6f35ea24271e3c01492872f25f124a0191f58b5da8f6a4fba4ad7abd3458e552e91be75d192f2891832fecbc4c8fc6e3a94fa02d1602316bfecb430763a71bb577a180195cb77fc86f2c02f1df95fb46488557ea476ac5342e532ec66ab2ea6e1f09f92006938dd840ce58f7c92c7665c2255268ca2753c357b5ada01edab5ab83dc1328732e1d132407eb2aedde5e47104ed826640629faef614546bf885a6e071b11fe406ed5367d69adcc6a91d5f284a9d82abaf39e437ccd709349dd841bf39b93e0ba6b721fc2725f1baae0ba0eab0960e4ff78e6ff4367337f562a3cb1a17ba527cd180f31b5c4d280e6f1127b5b0788a42e69ac25c2a1d1e5271653a653b4f36a819c5d1e413d7807828a4ccd8a6bcdc9bae71dc7cd03d63acd7dc4e47561be3c6a0ec40ea7be9213478e10346907822ff10212bd9a31a7c06f6ecc24e76b806eb4cea69a29c7349fbeaf31aa195cebe7194771ca0194055a096dc297c0c7925f62de62e133e1fd2da07aacb658109b8422916c66d4f665b15db346bf7fa901adcd49327a64f21bdf7bd5822b0a1c3b6348241737736b3bcb4a4b74a2160f1a41fb73baadcebe2c16a9e474c7087e8384259dd3e039d696efb8ea10fa53cbc1273043f6280b2f2b28496b863fb982d79c696a0729178226a8bdc567d51a0608e7328390f648f73d2dce316afc73743b6e795f2bda31c5ef88fa8c9aae1b3b14aeb8841096907ce10b8af2214bdf8888166fa660f0c207b83929dc238352563b882da59c6094f114488261208ad68ae07c867cae26734b3655981f233a82a83d53467c4f25d4a1d223bf9bf4d1be49c985e7c2c04bc51bf3eda0d1ca90e0038113055548caf27486546c437f549d4c253b4607da079ebe9f318695dd85c23f6db4a34b32ff96b1b2a2411496f00f2fc627b00ea52145a8098f76979af9dc9a35981ac7ec8653765d0b514591bd276df961bcc0a7d900ed8486d9944283d0f1ae8a27b36614be92de600c2f4fd32fa6348b4e94175dedb8da867d3b2102ad14871c0c8813f22c7ced6c8e70678e4dfcb6289f720785728bcd5e859933df824a2ac08f2f47e365cfa246c79d5411003ae90f1e14d773694271d1c6337321235329d3eade8cc33b3af114a4efc7d8606a72bf12c1f67ba2bd9495be63fb55cc2d56aa8a8e420b4c5bbce29201d7b696f94a13324886b1b44b2244e101893d238667fdaf54fcadcd3bfa231d15cec8bf43d23127f4c65b789f4a0a0681b620c1e6cf96da468d545f6ec6b608cd213e7212110d397e6b8f8e8ae666a8def88a37c82eb841b456b8814edf9c91ee1a58c0567923ed6284c9bd5c401fa1ebbafe1b3501764a9aa46c85c12b842a4b1b14442c1352eebf8c2153f1d4811e7c5ff9885b1f852a1136474ff37ed1bde0966ccdf7600bbe12973e3427f0a81a4d2e8394e7d12affa7f08b19a819914ecf7fdabf4b244bcad2fb191a9613a86ed2cc8f3949966f4ec797bf1fd2ac890addc599d9d12881a904e495aa7dce820aede704f63eabedbb964621da2c0cb06fe029dadeb6b9e158a5b956b9f4efdd89328ec8b221eb6b5f11c11ec813e18335a30941764d629b8101ab3835fae18683b206e31131a4f2bbfe7fb6d80f0bf83089ccfc8659f5e2d15ceebaa795db05ebdd6ef35231be05def7b82515665da6a26deafc67e899e94921b7d7db96a42857845290bd3ca9f8788aaeba04f3641a2740aa5a2fa1caeefc1cda1221391c5e73b10ccdc68540ba52fdef5249040079b2641459790ee2ba8ef6bb6bdf5abb5b580166f3682f4cf1c8e580809ff0e8a8711b3ab31a6e7c13bec0999f15315b8fb5fd524e3acb7a741eea892fa4693a2af64c9babc93c48ad895aa44309da5919b43be072ae50fd3509ccf7111297ea4d02626c24f1bc574b5fc32bb8ada77a924993cfbc2509873910a0991f166c3bb77add438f039b21097036952a5149f5a7c6a8c42ca490214d6a0dc4e673270f86665b8a774d93e0c7c4a27a12646c94ca5c2bdf8919dd04707113682b1664887d17c39405ec9c54f04e55a96c6037bb3eb83b9b1e72dfe6394e45df8503c5b9c13e265d01d48f6dc1ed4ed627494f0d7a9bed616c30ef48952589712970e7ef152b94ef8eefd7827a28be7d6ddd3f6aa948baee5c11a7b7246ed5bf4cbabef74d39626a3759e1432a545dbf4ddcd0109a943c1955e82be4c6be533d2f6040b575cac111967a5e2e5933ab1bed2178fa58a7464613f6e8b162cebf91e43678bc070a4a98be6a0e6cbb57a0fb3b39133ff49a20f5f10cd2d746e3405e3560c738c951b97e7ef74945421c0bb9a3b53a04aa8a476c8cd8aa0a7fd107f5a4fd0dc2f0858c429e0dcd11da525ea36f6431a90a645d5080a5f971ac5e1ad4544e711d04ba85f6be4fc3ce5d263a6a121ff63201af968c4627d7f7b4121f74718051cae0e1c17d115bd56b673ae98e057ff55c3d7345097e43898219c05cf5be2655473df468d9f7c626d219f2044418cf5beddaf28a8841b0addd5171e0e392d42ae61d0733b75644bb91005626ad8ad35ee75ed19c031773f3d9cbb50307b44140fa37db3e9648f7a31ad0d388755e587caf3936d79ee81bbb08714712fd54e121f2bcbcbbafcf22e99330698a1b714ef1c41418714e00ddb7002590d8219b2c21bba11fc4e4106f88e696178cef7366bc46feb6a407a94a61cd643c952b5e1cff54faf725e325b9115793ca755aff8f5627872c65fee0ff0b022b97496fb5f74e7eab7cc072524d0d34c16f79d381fbc90366a87a321bb7d70cdf0dbf59808e5badaceef3258fe158d177faa749c5bb75f98189a5fe11a18d22d5750fdff13c7f7bc2890dbc5702345156cc3a7f6a1acb2fa359c3e1f3d4daa7533d5a3f5a7d47c905ae968074de059e2bb72b5d43ca8f699e48a2423a263ae4df4625bbb1508d1025852eade7a6d1c5c71a9b2a51034ebb96154caac7383048305a44a1e6364791cade26567ebfae35313fc480da945bcb3b679b17c166da0e021618c6c630464f0d7672a897f220e1647350160e6b3ccc4fed292acc3c444f94f944ac4fb42c3211bfc84a820768caf10f48725cd707480c414d49ea0e7a8416436c6991684b5d21d1b51468ff5bb659dc9274a8c9373318dc72c18f2524541811bdaf34493482652016f939650d2918eab7631eba830637e44b800e29ebc8b28fe05c36c38e668f0dcc43fbeec3577614186f3432e589e01fe99e624073d0af61a09ebddb37dfea29507231b79337cd9da77c4f50bf59789c2adca85cd5b9b03b3baceda595704b5fc5b3ae0f81922fc8d43b2ba6acba936a8e9ce16138fb8614004950a65a8caffeff4470fe0a5a3a44ae6d7132242284556668071c9d0fb722135765057a78d27f1ef16c7d07da6428b3a39a2517951099899a2c8bcbfc96778b04674f5574a78e7362226f4725232d6e92f4bc635568e94eb0663d1fea12140cad637ec9b404c7e10c6cc3a1baeda06eeda8832c5f75a31fb5f2100f815721fe2d90da84e842edb08331081bba6ba4f12115f09023391927c0439b326155be1615800e1f7e0d5dd771391f718f9327dadfeb8ceb1582f50cbd4306e0fefebe83ce6682b18106b0823bdb6f8545302945328a86ee9e78546b7c3a08b472358ce727faaafe6c387bb1bacdf13e4db46774f15853af26f9f14de7653b3257072f98d567ab226f43a126e5af15b28fc7c0837a542bd5fdd673d0e3194ba56d97948408eac8fb29c11ae5db461cbac8c6d28f6721e46f08c184c159179761e72089d474f427453d1a4f4761410e4183072191dc17a5faeb89f4294a9a62b7878f67df54c94c4e2e338f4fcd7004725119d694d731cf4a052bafdfa27336d1a3c0f667351deed239c5e85ba7a822f173f4a747fc98dd96d4c57c087ccf8547b0b3a04130e53222b1e30153b9c7ac6633709e2062fc87561bcf4a97b18fb3a397d2ff816c3826ea1ce7480965bcaebd4acb91333c979dc5ca6d79720160ffb3ad56fdd8797bbf0943ce8f5d94d13721cd6cfce005e27da1365083fbcfe4b9c9e0cd94b3bbc4e6ca2e24c64549c62882b77b2f9edd084d35027f2d4f993612e661f1785f41458bfbb02736e6129abc7372fb3f10d3599a1273b5fbf79e381bd67b03f27f6d1cc764ba6897487f68993991a004c5002b90d1d8a7a8ec28d27a09d7a7176af2826222aada79389a38a4ccf1dc2dd54086ed6ed27399f756da0d1439733d3df9ecac481c844a914c2f7b1135dc84aa016a3583e2d35f827833741f97eb7fbbbf4bee424e5348ee3aec16aa6ade123345fd48979bab31c1c9f6e79678477d3b93e1b64b6ad3a056f485316e813831ed39ff64765fc006fe0b75cc20047cb9bed4071c7618a82e0cb3197cba1f42582eee7a1bd2426cf65f913003a8878b73026003f1fbbe84280524df56395d08a8649f48bffc5d1331838840b71781760efe055fb9de3bb301692b08bb68268b36aae9c8342a641482a3202b5f2eb8ffe2571b7e58065aef77a6c58f66598ad288f3d7b0bbee6eabb67eadaa9af040c148da3cab5e002589de9e8b3e94f9c1983a81cf2e5860091ebb5c41e5ee0254865026b00982173ffd69753d6394d5db1bf2a46fee5bb509a14593a8e3815241cfb1099e28af62ae321ab0c376750726b98d4bc35536d9cc328c83789d939e39d2ad770c924b76cb2aeaff31de6938b04eec546d532bbb770ab352ca3b66d52f87af76fb28c19e4c481baea62e773014bbb4b647a1ade14b84b0aacc38612d6dcf939904209cddc553b0a0274d96471915abd60ef76a1dbaf92be994e882fe0c5c9a049cc632dce3952c9730270df1d312a94b85a325744ba53512ca1abc68cf2453b02698d18fdffffff784674d2c8ba5dfe839892f8e56eedb378b7f5947272f9634c8ce7aea1324f0f034c63d427b605015d279d0508f52c967c4ae24f6fb39f78bd75b1a18873ff4ddf6fe6950fd83a723805a2c05dd2bf4f7ad494a0fd9cd8b5fb12743062d90e9b4fc421d13025694b1253f0a780a571e33833d705cbe4e248fde3587d1b4456b26cc2d5a957a67a7ee0de9f12dfa652231d94ee2a2bbed8cd631199b484fc1ac0f72455c9cb1b421a0d120acb4619bca83e21a3e0f2b8467740235e3ec448462eb96d2e2cbfb8ff2e9865cc83878f7157a970ed40e8e96414fb7b542c4f16b40206ec64704364e39d404013c929cea93280d0c47026e9cd17d42a2293e2c79b1e82c46d4dbab1743422a327b13e4df430367980fd4a80eb84fec3b84de027ee40016e1a8a65fcf84358d88cac80d44b88940fbedbeb87a5e65759c581c1380bbe46080065b8221e4d1441b758e2d19d324f9562d1240efdab2a1d85086e554d2ba8713a2d4d252c163106d05b1b1d40f875f97326dd44b20c16c734f2001e8e5a972283741e4e8cff3ae269590f07fa1bd0caa2faf2bca9e57f78001212b53da5fa56e14bdbeae91ecc48cdea4e9855544e2f397ae6c62bdcfd970934af68c4c8e0a672164c8b8d03ac9491fb01ec107eb893a711caea8f6ff7bd1c3936353e647590037945d6afabea2e370c9dfb4be0a6bc59b669bd5b524fcd59f88daa8993956743c6bbe2353292ee08364c2dd247e208d64429b4ea05762c7003067a57f6a510ddf28ea53e4b74756594fd73e6878e8a9efb502f9d420fbc055ae5d29dbf8a04eedc0d161c5d418ab0093c158a3860f2ce8c58fe5e20b7a15936e819f41578c4682b8c820c8144bc156a765b09c6e39d06ac9f468978a318b4728e6a2d4444d9ce9adce3461033b4cd3ce72cb40aa47a71f228bec64a74ec83f2cc0e54da8bb75fb2d22c2fe1eb22395de5d204b77a8ff6dee8b4a0e43141792fc45c34a51970016a9f4f123d30ed3f8ad9204cfdfcb7ab3dfa2fd38ae60512ac40589e7d408d3cfeb744696f4e97cffbdf88595bf863ba2e371ea413bd83e2bb08b7bb4205fc8624d2acd869655998a0114a53c7b53948367f02597556f02dcc7f935c8bb4113596fc29e2836a43aff89278d200679251c5dcf3b93ac6c8a1b5aab175ec73f2fae15f33ccdd8223852f298f051e8f4f7515c5db2ef088631d92d1d7340cfccd40893ecc3280c3de539884dc492a8ff9c1b2ab77060a45fc0af692659c0b34fe286ba99789e1502fc53446d9f2c15303b4ba2281ca9e69f9358f75f3eafb12a5e02a15460bdb8c2c4466c36a41a370ed8984c0d0d759fe702aa7b232fdac28b4bc440415cad1ea029c944c0455aa9f8c96deaf525b290565df3fa8687be31f7f2cc98b872e0e6d505e21b43b736e47e3882eba602ae8e84ea9e1b01c2e53b2d9af9519203c705c8a6e31545e0b09723f766debfd88d5016e8e4708d612336e284f94c10d050609e7ec2fb99011141f5b22ff808b98d940867ce62dd1dc47906b0b979c8c9fa368fed43fb0f6921ba9cda9639fbb861baadc1b12dab3229b86d31631f7fb0dc0df919a6ac0a31e1615d3116a3d29d1a9ac34e25a12dbd3ee3b6cec4f58eac27b80ab91076978ed2b95d3f9789b46da999e568aab07e4987dc642dfc2d03edf0b281a0271a4002b4bede13238287366c27de5632d7fb780b967d8191506cd521b1514dba003bcf8e1492e615c8b8d8d6eea9f742aff79499a836d2772c2f5638fddd2a1c76c5c721f5e9172548852d1a3faf1422a300815ff26a7965b5bea42150a21ac8fb3b5d4a8e2a9b89849b9056db2d5b9328e8803257973a916bcfd3ab9c240f9686855d40feb196549c39598ec0b1b942d87570d52a25b5ada44e9fbe77010825b6f862dd4aa4b9a43b5409f5c274bbaddf66b39971730f27b0f7824ec75437c2c5d2d7bd8d4ce099633507164b10d5e19fd1d2fd3274a6a0e931fac3cec5c2c75d2e4dc3b818c31c8431124894322603cb8de65611e8fb558ac68245cbc2385b43a0d0228cd3c57a49dfe2f686e46add449d80c28182d6a70055bf42aa1d07ee709c9e20fb3288bc58c0dd898181f0a6d06a0c72ddf729a0bf4146fde9eafd4bb04f23b9d9d382749f48c94cd88136217ba575885c43fbc879b932d5ed03f57059571ab86edaf2b572b3243408634c95fc1b161fc5d9fedbcad148bef704f6a0637e332a2b11052586918263f1ea280a1d0e339f38e17e3f1d0f1a4063c693d4868fbc654362a8a153b6fd2e3361af233779ddadfae5ae0b364f1b1fce7957c0e3b0275acd600", 0x2000, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 20:02:58 executing program 4: timer_create(0x0, &(0x7f0000000100)={0x0, 0x12}, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$GTP_CMD_DELPDP(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={0x0, 0x20}}, 0x0) getsockname$packet(r1, &(0x7f00000001c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000540)=0x14) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@newlink={0x30, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_MASTER={0x8, 0x4, r2}, @IFLA_GROUP={0x8}]}, 0x30}}, 0x0) [ 2421.996859][T19306] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 20:02:58 executing program 2: socketpair(0x27, 0xa, 0xffffff54, &(0x7f0000000000)) r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000003c0)='/sys/module/cpufreq', 0xa08100, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f0000000740), r0) syz_clone(0x40000000, &(0x7f0000000080)="8e8f9c9796d22f3cfb343f55f12e3aa6f0a392bcc0a69d6d7c53d569b84d0d19a1dc6a52b3b7c63d52c701c8799b8e6fa6144e0683e1cd96108e0cef3ac4dae915f475a4dc779df6b98488a3f290acd53fd54787267ac875dc8686adec93529f1a0069c481a927a2668e992b9edd3be6fa832c2de144c6598cd98766580d88aa89fc7042e719b88ce1485e502f949371f59b5e92b7e9ba9fafb5aa4d3c3963cbc79a5afd571e4a085fa8d78dc3d44df1689c7a902c7cac553056a2e202a0e456", 0xc0, &(0x7f0000000140), &(0x7f0000000180), &(0x7f00000001c0)="d4b4db1e0e1ddd80ba5a628525c99039facc731002bf183fe52931c4e55036afe3dff3cb29f8abbba12ea31a935a97c8adb54dd80457abf583984a91870b76029b19b4c4427f1d5ca1b413e960d3d7f6dd570ef10ad67b8b096d857f3dbcd7771d2be79d1960f4fddb6c8beac125ad477267944f9bd55f6bd0ae5f2aecdcf3bc927ef29e70483f4e79912f59684a7c7ac4a00accbc8722f739a02b23b432a4e680662b0ec05b0c43d6cd74e44531c52a83d06812ff22f72e6a9e5749ab10c46b3f80ae4a9dc43ed8f6744aa81e15711f5ea27540cead348621938ad4e4d42eec51d791417fb8cf927b17af0d8e3beb77c9412f48df7d77c3e2f64d74a7") 20:02:58 executing program 5: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000001c0)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@func_proto]}}, &(0x7f00000000c0)=""/178, 0x26, 0xb2, 0x1}, 0x20) 20:02:58 executing program 5: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="9feb010018000000000000001000000010001c"], &(0x7f0000000080)=""/132, 0x34, 0x84, 0x1}, 0x20) 20:02:58 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=ANY=[@ANYBLOB="24000000110001000000000000000000000000000b"], 0x24}}, 0x0) 20:02:58 executing program 4: r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffb) keyctl$set_timeout(0xf, r0, 0x0) [ 2422.275281][T19324] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 20:02:59 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="f20c99596c85889b9030c36ff09ef4e543f045b889ec3a9b8f9b6db07fb42d7c9d77e9195a3346da6120e1edb0a23414147000f0e2d8ccd71216d8cd789a9b711539a93b32ccb547a26489749cd038d5c1aa44214df6d33cdbcbdb2cf8f324762a3cf8a27b87d14732e8d238f96007adf8c3deab9fc5e75c13ad467e04b76feccaa71fe87ba2528838336731153ad92ca8feac48f8a32db9ffdc06616f47995e97779e9a21f2122df5e28d9dc2ed4042c81af9a6ac81428cd94f7c0143eae5428e7b6757bb92d59cdb2123c3141b2ad6fbc2fccf837e429f0fc03a8351bdf6bb9dc6640456c47942ab7085ca5b6af062470de60c59a6ac6348b839d3006f72064b478239efae9dc5b6693a17857fe73c1a6b4639857431e40954576aaafc18c1ea3784e8a4f91cfea4f431c9db564352f2d8bd13d536e9f2f10e5a8a94e259357387bde9440ca93cd999f8989a2133ab4837bab3e820c13eb94c91279d2c29838395b517c36be671264c905c28c05fabd71c8d80464f600f0e62f3b50d73d1776a2fb9e3cd4eb119fee0ce0c969c5333f27042e507aa2438c80d7ce54fa5baf3c3676e66d589cf03ed1f5eb778869ff331c14d770e4760f32972233d87053419a0f0c977a1d0c4d9ae8de6a8a8adb288ee1f935c68e74ee05a15266e4ff936b48ca8da0f4f29e71320bcc01b70f9a19954484f37e9d7bf23eb5feac99b709817b1b7894b9897c88575703c21aa55b361f8137687b2348a69aad1bb5d76d9f8b011ca9b795b6db2b4b1bde9acb5512adc4de503473457fe4b503a95c4fb129dd707fe0cf371e34d0416a3eb7d3deb93d9747e55bf3c957f1f0e0b5d9e78bcef25b7e290263870bc526f7dbc81c691126d73c84d3f04fd06750d94fd1010563cfd23c036e7b48d2ac230ef4fa3584288e5e86b1f9bbb9926c32fd7ae47a7320e696c9bac75b1bcf1c79c528118b6887a7b9d0789bc5ca8c6abcec94c57ab9cfdc9302a64c8fedf8e93dbfcab1c9e8fb22ddd7f9c693c882cd886f40beb5f189a7c2f0d080fffbb6f8614c2463ca82925deb338f0d3b27ce3e6ef261e2f630a583810f2e3702afc05b50678fcacb6dcb36032aa5d36cddb24a1d5f271800c8f9741dd5f6a311a87d1658acd94cf78a1aff3730d9a1ef89d0dc175eb403b69ac0dc8a2b1e9590bae99aabcd504f02eec75e4e5ed0a65991e4696bd4f77ebedb0f1de20f6b7456eda5a36894923e21e60f80a91fd1c169a6a55c5a6c7e8677edf53fca4f8b1f23820fcab6a3f5ed96754a82fd6e0d40c1e9d801bd08a7ae486b277fb6ca55464a764d5ff5d276f4868dadd57a0274f949673fbab132d791e45df0bfe10531f4c28421aedf75e2574170b48d4e6bdabaa185fef9cf5cfb2b8906f061c5c966269b8eda22bb95500a288b34b8ded72f210b923f3389490a896e1631ce945219ec65d817fd0064ede96b603fe8af95d6af2b78af02e2829b683b1ebf55451fb21fe0691b5d22fbc9a1a2dbe17856171bcd31868682b7ab03ce4c9ae553b9c4e1ce948dfb12d7d3507b1350a466111f1e9d330cbd28509a69fa061c703269b6e39a3fd61a3bb06f9712141a012e9f1977d6a79f843050744a699bb171109d52c7677844d1e068390739db8a9bba0e1a740e549376c4ce5ff0359ec042baf2de2d345ef6ba296bfbc08b7cf198beb7ac26590f92784e40bbbc6e80557009539314d880452c56a28d0af3fb0574c7fc75e92234a2fb82782f56f35ca54096b941da55f384221208c44730bfb1855ef877c321d02deb1d202679ca8d4961cb82999e7a4cdaaea908a16a85e1e5cdeb9f0cedefb6e232c4e9952a58933b3cd2eb55d2668d1461dcc2bd34654126319d3d3ed655e87336a3bc73ba7fa32c73a47936980bb8e88ef7ceec1ece50dee8d09738d21cf662cc5a1549c656bbc8e425654f56213cf3581d8fd0652567c152835d1f9a4067e210379ad777a7db1d9e2f0495cc998f24a5ecdd39c141e3a6a0a84166f4b6e15910e93f2c3ccdc4ac5715d52cb014b94e3e12822eaf0314561e8119d38486d6335015fe636a7f568c0f7ace23207d36a545d0d2d2e9de548fd6291935647e8f259186c3110372e1e0453f1787850cb4447da2366e0cfd6897383df4c692ac3fdb85ef2ab0628f9bd7314c294dbe0da82d8de0efa72b00482b2eebcdf782d7d18c855febd0435ee3d2a5aef0c101b063e891124adbfc7bd947c87b3ec60083fc7c1e3139bdd8cd6c41980766936561d4b295f2491c8dd30ad7e5427b9867a3ade82c0840c9658ce4829d7d22a12537f50e5fcccef32331b6eba183cb4bee71a9ec064a902b48a044272697931f3f8ab9833f432354891a73cc95f4361052fe2005a76d97e0f80decd90a6a7d23358944ec7bf8cc9fa7501e79127834f3c9e32176668ebcec28a51f949878480d7db46ce07f108595858e9967aaae943609c81ccad596452d4c759fc5a0637be0acecb3511609bfca4aeefd7d9a53598b85e9902b094c022693abbdab522b1c21fae192f9f4f1daeb4bef812495f8e85fa6cda0107bde9c9c05bb55c824827ed2d0132d0dd327ece6d43e5458aaa214e9f336635f7b0931a1cf492119de81cd191bf4082e8e26f570ee887ee1a0808f39b5459fbfcfb628c2e70b2c7c9367ec1a12b47e4c9124b9ab5f4762a27e3c8a1090ec2a27d33961f94bc66cf3be9ce9adb26b960bb8c8f7c48099d685b453d6796517fdf036fbb6edd42c46f7710f2ade2c0be6af0d6659a6bf48dcc5a991a34f402bec0146814282e65328f2ae87b78b1506e68983f65f121180767217f587d25dd5a68d2809f7fd3d609c2786af4460cf88ecc2a7a2c0067f202c407df1da60a79e35d44a5525fc881f9b54937f7009a04f27ce4d8b7aa139b7f1cc3c7c0e90a8d114f30ff365355a926b80af641c08dced62f5f14ea1767a6a4b3bf14db7e3515f48be849638e059c62ea997b229a9e6a77ad0f1a1773e9f27e05957d3485fb55bcf9e0da8d768007a6fa02dd9de4d475d631d90bf6d43c33f265b58615f6ef1f430f3ac8d04fd0a332a18516f0d8bd0f4c4bb4a2e055e65250e356efd52ea21aee7b44ce276d081eceb6e9d2af73beb39ca93e2701844c0def42c49fca79271c9f402b74e3fbf2393cb7a42dc42c877353a4bde057465c4ad3eda8679c3960cbee2fcd41411a7b265b7ad19ab14b76d0768e5c05b5e7117b12d222bbcbf976eff9e84303f93c8145c0936aaeb150ff9ec7aa1cd06f4cd5ca698addcd86349fcd1b59e5d0a779356594c9a3484797c4515b194038588eab3e40a063f43aa15c0f9a8388c467bedfc1a3febaf6d2e54c014b05ec8446083cf5733c8fcf14daf8386d2841d03d80ada5cd3328463f543415845c48fd894134781aef5991639850af77ddeec3d4b72ff29075addd7442f821ef2041b8963d93b6e9bd4ba7658f0c234543fc47bdfd4a7863eecb73c167eee39cd75db3263655900de8bff1c64bc717af99a5a0b32ff4fed5b87942606ba46e006953760f98f06964639a6dcecd3a4916d1d854ffec03c2190fd676017760192caabb5cbe8a23188eb6bf0e02479cf6af79fd18739229d5ea89e21468aeba3459e9bfa89e64300e121a2c85e2a652bd5fdb1330f99eb207599372584637840e35b4984ac1c9923cccb549fcc66c751fb92d99dfb82c64b401b80a573a4799ebdbc4feb5c4ceb1e285aaddd89ddc5e2f5e90ab3ee40e8a36abbd7387cfafdeebb55201f87b501c2dc191fae82f49e14664b45b7e50deeb5b3124e69b52f16627ded6f2d9da3b5dd3a64f89885ba958ecadd869a5469cd9f5a082386e4103fa84d0555d13baa7f0c87df96b00f9bcbcaadc7cb2ea2aa73dfb8b10c65dd69ac09e4989a59b75f062e7648a3f8f394f8ae77d3b3123c6df3c230be97a8a468bdd8795ca73b8a9e63e54a670feaca4a3924e947079e3cac7a8f1cf78896f82c0fb39a0eea1fe9cbfa01818af28ac8e8fca5a75855ea2a4919e6dc5b647f1b16a1aa5621dbc6a7755e886f401fa0e91a603733d02f6da653defedb79d50fa483c3cecad16324ec7c9a777872374d651b03693d31ec8f7f246147175f0598f289c7b25da7a611a8bbad9f3c0888afabb6f7cfa459a22a872b0b5b0f765d94280f49a3d5fa5edb40cfc1d2bfb9518203caf0001aa679a5a98bafd00d261465b6ea7aaa4f2995db0ae83924d322f514d493a3c67ac12259a93684cbdfca63fab542dd24007247a3b2b5e2057ebe5a12af52649387c374c7952a4e3f25c1167b3d131717a08bff3c861599625e05790e01952af22ca911131b6f35ea24271e3c01492872f25f124a0191f58b5da8f6a4fba4ad7abd3458e552e91be75d192f2891832fecbc4c8fc6e3a94fa02d1602316bfecb430763a71bb577a180195cb77fc86f2c02f1df95fb46488557ea476ac5342e532ec66ab2ea6e1f09f92006938dd840ce58f7c92c7665c2255268ca2753c357b5ada01edab5ab83dc1328732e1d132407eb2aedde5e47104ed826640629faef614546bf885a6e071b11fe406ed5367d69adcc6a91d5f284a9d82abaf39e437ccd709349dd841bf39b93e0ba6b721fc2725f1baae0ba0eab0960e4ff78e6ff4367337f562a3cb1a17ba527cd180f31b5c4d280e6f1127b5b0788a42e69ac25c2a1d1e5271653a653b4f36a819c5d1e413d7807828a4ccd8a6bcdc9bae71dc7cd03d63acd7dc4e47561be3c6a0ec40ea7be9213478e10346907822ff10212bd9a31a7c06f6ecc24e76b806eb4cea69a29c7349fbeaf31aa195cebe7194771ca0194055a096dc297c0c7925f62de62e133e1fd2da07aacb658109b8422916c66d4f665b15db346bf7fa901adcd49327a64f21bdf7bd5822b0a1c3b6348241737736b3bcb4a4b74a2160f1a41fb73baadcebe2c16a9e474c7087e8384259dd3e039d696efb8ea10fa53cbc1273043f6280b2f2b28496b863fb982d79c696a0729178226a8bdc567d51a0608e7328390f648f73d2dce316afc73743b6e795f2bda31c5ef88fa8c9aae1b3b14aeb8841096907ce10b8af2214bdf8888166fa660f0c207b83929dc238352563b882da59c6094f114488261208ad68ae07c867cae26734b3655981f233a82a83d53467c4f25d4a1d223bf9bf4d1be49c985e7c2c04bc51bf3eda0d1ca90e0038113055548caf27486546c437f549d4c253b4607da079ebe9f318695dd85c23f6db4a34b32ff96b1b2a2411496f00f2fc627b00ea52145a8098f76979af9dc9a35981ac7ec8653765d0b514591bd276df961bcc0a7d900ed8486d9944283d0f1ae8a27b36614be92de600c2f4fd32fa6348b4e94175dedb8da867d3b2102ad14871c0c8813f22c7ced6c8e70678e4dfcb6289f720785728bcd5e859933df824a2ac08f2f47e365cfa246c79d5411003ae90f1e14d773694271d1c6337321235329d3eade8cc33b3af114a4efc7d8606a72bf12c1f67ba2bd9495be63fb55cc2d56aa8a8e420b4c5bbce29201d7b696f94a13324886b1b44b2244e101893d238667fdaf54fcadcd3bfa231d15cec8bf43d23127f4c65b789f4a0a0681b620c1e6cf96da468d545f6ec6b608cd213e7212110d397e6b8f8e8ae666a8def88a37c82eb841b456b8814edf9c91ee1a58c0567923ed6284c9bd5c401fa1ebbafe1b3501764a9aa46c85c12b842a4b1b14442c1352eebf8c2153f1d4811e7c5ff9885b1f852a1136474ff37ed1bde0966ccdf7600bbe12973e3427f0a81a4d2e8394e7d12affa7f08b19a819914ecf7fdabf4b244bcad2fb191a9613a86ed2cc8f3949966f4ec797bf1fd2ac890addc599d9d12881a904e495aa7dce820aede704f63eabedbb964621da2c0cb06fe029dadeb6b9e158a5b956b9f4efdd89328ec8b221eb6b5f11c11ec813e18335a30941764d629b8101ab3835fae18683b206e31131a4f2bbfe7fb6d80f0bf83089ccfc8659f5e2d15ceebaa795db05ebdd6ef35231be05def7b82515665da6a26deafc67e899e94921b7d7db96a42857845290bd3ca9f8788aaeba04f3641a2740aa5a2fa1caeefc1cda1221391c5e73b10ccdc68540ba52fdef5249040079b2641459790ee2ba8ef6bb6bdf5abb5b580166f3682f4cf1c8e580809ff0e8a8711b3ab31a6e7c13bec0999f15315b8fb5fd524e3acb7a741eea892fa4693a2af64c9babc93c48ad895aa44309da5919b43be072ae50fd3509ccf7111297ea4d02626c24f1bc574b5fc32bb8ada77a924993cfbc2509873910a0991f166c3bb77add438f039b21097036952a5149f5a7c6a8c42ca490214d6a0dc4e673270f86665b8a774d93e0c7c4a27a12646c94ca5c2bdf8919dd04707113682b1664887d17c39405ec9c54f04e55a96c6037bb3eb83b9b1e72dfe6394e45df8503c5b9c13e265d01d48f6dc1ed4ed627494f0d7a9bed616c30ef48952589712970e7ef152b94ef8eefd7827a28be7d6ddd3f6aa948baee5c11a7b7246ed5bf4cbabef74d39626a3759e1432a545dbf4ddcd0109a943c1955e82be4c6be533d2f6040b575cac111967a5e2e5933ab1bed2178fa58a7464613f6e8b162cebf91e43678bc070a4a98be6a0e6cbb57a0fb3b39133ff49a20f5f10cd2d746e3405e3560c738c951b97e7ef74945421c0bb9a3b53a04aa8a476c8cd8aa0a7fd107f5a4fd0dc2f0858c429e0dcd11da525ea36f6431a90a645d5080a5f971ac5e1ad4544e711d04ba85f6be4fc3ce5d263a6a121ff63201af968c4627d7f7b4121f74718051cae0e1c17d115bd56b673ae98e057ff55c3d7345097e43898219c05cf5be2655473df468d9f7c626d219f2044418cf5beddaf28a8841b0addd5171e0e392d42ae61d0733b75644bb91005626ad8ad35ee75ed19c031773f3d9cbb50307b44140fa37db3e9648f7a31ad0d388755e587caf3936d79ee81bbb08714712fd54e121f2bcbcbbafcf22e99330698a1b714ef1c41418714e00ddb7002590d8219b2c21bba11fc4e4106f88e696178cef7366bc46feb6a407a94a61cd643c952b5e1cff54faf725e325b9115793ca755aff8f5627872c65fee0ff0b022b97496fb5f74e7eab7cc072524d0d34c16f79d381fbc90366a87a321bb7d70cdf0dbf59808e5badaceef3258fe158d177faa749c5bb75f98189a5fe11a18d22d5750fdff13c7f7bc2890dbc5702345156cc3a7f6a1acb2fa359c3e1f3d4daa7533d5a3f5a7d47c905ae968074de059e2bb72b5d43ca8f699e48a2423a263ae4df4625bbb1508d1025852eade7a6d1c5c71a9b2a51034ebb96154caac7383048305a44a1e6364791cade26567ebfae35313fc480da945bcb3b679b17c166da0e021618c6c630464f0d7672a897f220e1647350160e6b3ccc4fed292acc3c444f94f944ac4fb42c3211bfc84a820768caf10f48725cd707480c414d49ea0e7a8416436c6991684b5d21d1b51468ff5bb659dc9274a8c9373318dc72c18f2524541811bdaf34493482652016f939650d2918eab7631eba830637e44b800e29ebc8b28fe05c36c38e668f0dcc43fbeec3577614186f3432e589e01fe99e624073d0af61a09ebddb37dfea29507231b79337cd9da77c4f50bf59789c2adca85cd5b9b03b3baceda595704b5fc5b3ae0f81922fc8d43b2ba6acba936a8e9ce16138fb8614004950a65a8caffeff4470fe0a5a3a44ae6d7132242284556668071c9d0fb722135765057a78d27f1ef16c7d07da6428b3a39a2517951099899a2c8bcbfc96778b04674f5574a78e7362226f4725232d6e92f4bc635568e94eb0663d1fea12140cad637ec9b404c7e10c6cc3a1baeda06eeda8832c5f75a31fb5f2100f815721fe2d90da84e842edb08331081bba6ba4f12115f09023391927c0439b326155be1615800e1f7e0d5dd771391f718f9327dadfeb8ceb1582f50cbd4306e0fefebe83ce6682b18106b0823bdb6f8545302945328a86ee9e78546b7c3a08b472358ce727faaafe6c387bb1bacdf13e4db46774f15853af26f9f14de7653b3257072f98d567ab226f43a126e5af15b28fc7c0837a542bd5fdd673d0e3194ba56d97948408eac8fb29c11ae5db461cbac8c6d28f6721e46f08c184c159179761e72089d474f427453d1a4f4761410e4183072191dc17a5faeb89f4294a9a62b7878f67df54c94c4e2e338f4fcd7004725119d694d731cf4a052bafdfa27336d1a3c0f667351deed239c5e85ba7a822f173f4a747fc98dd96d4c57c087ccf8547b0b3a04130e53222b1e30153b9c7ac6633709e2062fc87561bcf4a97b18fb3a397d2ff816c3826ea1ce7480965bcaebd4acb91333c979dc5ca6d79720160ffb3ad56fdd8797bbf0943ce8f5d94d13721cd6cfce005e27da1365083fbcfe4b9c9e0cd94b3bbc4e6ca2e24c64549c62882b77b2f9edd084d35027f2d4f993612e661f1785f41458bfbb02736e6129abc7372fb3f10d3599a1273b5fbf79e381bd67b03f27f6d1cc764ba6897487f68993991a004c5002b90d1d8a7a8ec28d27a09d7a7176af2826222aada79389a38a4ccf1dc2dd54086ed6ed27399f756da0d1439733d3df9ecac481c844a914c2f7b1135dc84aa016a3583e2d35f827833741f97eb7fbbbf4bee424e5348ee3aec16aa6ade123345fd48979bab31c1c9f6e79678477d3b93e1b64b6ad3a056f485316e813831ed39ff64765fc006fe0b75cc20047cb9bed4071c7618a82e0cb3197cba1f42582eee7a1bd2426cf65f913003a8878b73026003f1fbbe84280524df56395d08a8649f48bffc5d1331838840b71781760efe055fb9de3bb301692b08bb68268b36aae9c8342a641482a3202b5f2eb8ffe2571b7e58065aef77a6c58f66598ad288f3d7b0bbee6eabb67eadaa9af040c148da3cab5e002589de9e8b3e94f9c1983a81cf2e5860091ebb5c41e5ee0254865026b00982173ffd69753d6394d5db1bf2a46fee5bb509a14593a8e3815241cfb1099e28af62ae321ab0c376750726b98d4bc35536d9cc328c83789d939e39d2ad770c924b76cb2aeaff31de6938b04eec546d532bbb770ab352ca3b66d52f87af76fb28c19e4c481baea62e773014bbb4b647a1ade14b84b0aacc38612d6dcf939904209cddc553b0a0274d96471915abd60ef76a1dbaf92be994e882fe0c5c9a049cc632dce3952c9730270df1d312a94b85a325744ba53512ca1abc68cf2453b02698d18fdffffff784674d2c8ba5dfe839892f8e56eedb378b7f5947272f9634c8ce7aea1324f0f034c63d427b605015d279d0508f52c967c4ae24f6fb39f78bd75b1a18873ff4ddf6fe6950fd83a723805a2c05dd2bf4f7ad494a0fd9cd8b5fb12743062d90e9b4fc421d13025694b1253f0a780a571e33833d705cbe4e248fde3587d1b4456b26cc2d5a957a67a7ee0de9f12dfa652231d94ee2a2bbed8cd631199b484fc1ac0f72455c9cb1b421a0d120acb4619bca83e21a3e0f2b8467740235e3ec448462eb96d2e2cbfb8ff2e9865cc83878f7157a970ed40e8e96414fb7b542c4f16b40206ec64704364e39d404013c929cea93280d0c47026e9cd17d42a2293e2c79b1e82c46d4dbab1743422a327b13e4df430367980fd4a80eb84fec3b84de027ee40016e1a8a65fcf84358d88cac80d44b88940fbedbeb87a5e65759c581c1380bbe46080065b8221e4d1441b758e2d19d324f9562d1240efdab2a1d85086e554d2ba8713a2d4d252c163106d05b1b1d40f875f97326dd44b20c16c734f2001e8e5a972283741e4e8cff3ae269590f07fa1bd0caa2faf2bca9e57f78001212b53da5fa56e14bdbeae91ecc48cdea4e9855544e2f397ae6c62bdcfd970934af68c4c8e0a672164c8b8d03ac9491fb01ec107eb893a711caea8f6ff7bd1c3936353e647590037945d6afabea2e370c9dfb4be0a6bc59b669bd5b524fcd59f88daa8993956743c6bbe2353292ee08364c2dd247e208d64429b4ea05762c7003067a57f6a510ddf28ea53e4b74756594fd73e6878e8a9efb502f9d420fbc055ae5d29dbf8a04eedc0d161c5d418ab0093c158a3860f2ce8c58fe5e20b7a15936e819f41578c4682b8c820c8144bc156a765b09c6e39d06ac9f468978a318b4728e6a2d4444d9ce9adce3461033b4cd3ce72cb40aa47a71f228bec64a74ec83f2cc0e54da8bb75fb2d22c2fe1eb22395de5d204b77a8ff6dee8b4a0e43141792fc45c34a51970016a9f4f123d30ed3f8ad9204cfdfcb7ab3dfa2fd38ae60512ac40589e7d408d3cfeb744696f4e97cffbdf88595bf863ba2e371ea413bd83e2bb08b7bb4205fc8624d2acd869655998a0114a53c7b53948367f02597556f02dcc7f935c8bb4113596fc29e2836a43aff89278d200679251c5dcf3b93ac6c8a1b5aab175ec73f2fae15f33ccdd8223852f298f051e8f4f7515c5db2ef088631d92d1d7340cfccd40893ecc3280c3de539884dc492a8ff9c1b2ab77060a45fc0af692659c0b34fe286ba99789e1502fc53446d9f2c15303b4ba2281ca9e69f9358f75f3eafb12a5e02a15460bdb8c2c4466c36a41a370ed8984c0d0d759fe702aa7b232fdac28b4bc440415cad1ea029c944c0455aa9f8c96deaf525b290565df3fa8687be31f7f2cc98b872e0e6d505e21b43b736e47e3882eba602ae8e84ea9e1b01c2e53b2d9af9519203c705c8a6e31545e0b09723f766debfd88d5016e8e4708d612336e284f94c10d050609e7ec2fb99011141f5b22ff808b98d940867ce62dd1dc47906b0b979c8c9fa368fed43fb0f6921ba9cda9639fbb861baadc1b12dab3229b86d31631f7fb0dc0df919a6ac0a31e1615d3116a3d29d1a9ac34e25a12dbd3ee3b6cec4f58eac27b80ab91076978ed2b95d3f9789b46da999e568aab07e4987dc642dfc2d03edf0b281a0271a4002b4bede13238287366c27de5632d7fb780b967d8191506cd521b1514dba003bcf8e1492e615c8b8d8d6eea9f742aff79499a836d2772c2f5638fddd2a1c76c5c721f5e9172548852d1a3faf1422a300815ff26a7965b5bea42150a21ac8fb3b5d4a8e2a9b89849b9056db2d5b9328e8803257973a916bcfd3ab9c240f9686855d40feb196549c39598ec0b1b942d87570d52a25b5ada44e9fbe77010825b6f862dd4aa4b9a43b5409f5c274bbaddf66b39971730f27b0f7824ec75437c2c5d2d7bd8d4ce099633507164b10d5e19fd1d2fd3274a6a0e931fac3cec5c2c75d2e4dc3b818c31c8431124894322603cb8de65611e8fb558ac68245cbc2385b43a0d0228cd3c57a49dfe2f686e46add449d80c28182d6a70055bf42aa1d07ee709c9e20fb3288bc58c0dd898181f0a6d06a0c72ddf729a0bf4146fde9eafd4bb04f23b9d9d382749f48c94cd88136217ba575885c43fbc879b932d5ed03f57059571ab86edaf2b572b3243408634c95fc1b161fc5d9fedbcad148bef704f6a0637e332a2b11052586918263f1ea280a1d0e339f38e17e3f1d0f1a4063c693d4868fbc654362a8a153b6fd2e3361af233779ddadfae5ae0b364f1b1fce7957c0e3b0275acd600", 0x2000, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 20:02:59 executing program 5: shmctl$IPC_INFO(0x0, 0x3, &(0x7f00000002c0)=""/190) 20:02:59 executing program 1: openat$pidfd(0xffffffffffffff9c, &(0x7f0000000540), 0x0, 0x0) 20:02:59 executing program 3: socketpair(0x1e, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) recvfrom$llc(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 20:02:59 executing program 4: semtimedop(0x0, &(0x7f0000000080)=[{}], 0x1, &(0x7f0000000040)) 20:02:59 executing program 2: shmget$private(0x0, 0x3000, 0x2c000c00, &(0x7f0000ffb000/0x3000)=nil) 20:02:59 executing program 1: shmget$private(0x0, 0x4000, 0x800, &(0x7f0000fee000/0x4000)=nil) 20:02:59 executing program 5: r0 = socket$netlink(0x10, 0x3, 0xa) sendmsg$nl_route_sched(r0, &(0x7f0000000c80)={0x0, 0x0, &(0x7f0000000c40)={&(0x7f00000002c0)=@getchain={0x24}, 0x24}}, 0x0) 20:02:59 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000100)={0x3, &(0x7f0000000080)=[{0x15, 0x0, 0x0, 0x8001}, {0x84}, {0x16}]}, 0x10) sendmsg$nl_generic(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)={0x14, 0x0, 0x4}, 0x14}}, 0x0) 20:02:59 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000080)=@base={0x1, 0x2, 0x9, 0x20005}, 0x48) 20:02:59 executing program 5: r0 = syz_init_net_socket$llc(0x1a, 0x1, 0x0) setsockopt$llc_int(r0, 0x10c, 0x8, &(0x7f0000000180), 0x4) 20:02:59 executing program 2: socketpair(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) ioctl$sock_ipv4_tunnel_SIOCADDTUNNEL(r0, 0x5421, &(0x7f00000001c0)={'sit0\x00', 0x0}) syz_genetlink_get_family_id$batadv(&(0x7f0000000200), r0) 20:03:00 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="f20c99596c85889b9030c36ff09ef4e543f045b889ec3a9b8f9b6db07fb42d7c9d77e9195a3346da6120e1edb0a23414147000f0e2d8ccd71216d8cd789a9b711539a93b32ccb547a26489749cd038d5c1aa44214df6d33cdbcbdb2cf8f324762a3cf8a27b87d14732e8d238f96007adf8c3deab9fc5e75c13ad467e04b76feccaa71fe87ba2528838336731153ad92ca8feac48f8a32db9ffdc06616f47995e97779e9a21f2122df5e28d9dc2ed4042c81af9a6ac81428cd94f7c0143eae5428e7b6757bb92d59cdb2123c3141b2ad6fbc2fccf837e429f0fc03a8351bdf6bb9dc6640456c47942ab7085ca5b6af062470de60c59a6ac6348b839d3006f72064b478239efae9dc5b6693a17857fe73c1a6b4639857431e40954576aaafc18c1ea3784e8a4f91cfea4f431c9db564352f2d8bd13d536e9f2f10e5a8a94e259357387bde9440ca93cd999f8989a2133ab4837bab3e820c13eb94c91279d2c29838395b517c36be671264c905c28c05fabd71c8d80464f600f0e62f3b50d73d1776a2fb9e3cd4eb119fee0ce0c969c5333f27042e507aa2438c80d7ce54fa5baf3c3676e66d589cf03ed1f5eb778869ff331c14d770e4760f32972233d87053419a0f0c977a1d0c4d9ae8de6a8a8adb288ee1f935c68e74ee05a15266e4ff936b48ca8da0f4f29e71320bcc01b70f9a19954484f37e9d7bf23eb5feac99b709817b1b7894b9897c88575703c21aa55b361f8137687b2348a69aad1bb5d76d9f8b011ca9b795b6db2b4b1bde9acb5512adc4de503473457fe4b503a95c4fb129dd707fe0cf371e34d0416a3eb7d3deb93d9747e55bf3c957f1f0e0b5d9e78bcef25b7e290263870bc526f7dbc81c691126d73c84d3f04fd06750d94fd1010563cfd23c036e7b48d2ac230ef4fa3584288e5e86b1f9bbb9926c32fd7ae47a7320e696c9bac75b1bcf1c79c528118b6887a7b9d0789bc5ca8c6abcec94c57ab9cfdc9302a64c8fedf8e93dbfcab1c9e8fb22ddd7f9c693c882cd886f40beb5f189a7c2f0d080fffbb6f8614c2463ca82925deb338f0d3b27ce3e6ef261e2f630a583810f2e3702afc05b50678fcacb6dcb36032aa5d36cddb24a1d5f271800c8f9741dd5f6a311a87d1658acd94cf78a1aff3730d9a1ef89d0dc175eb403b69ac0dc8a2b1e9590bae99aabcd504f02eec75e4e5ed0a65991e4696bd4f77ebedb0f1de20f6b7456eda5a36894923e21e60f80a91fd1c169a6a55c5a6c7e8677edf53fca4f8b1f23820fcab6a3f5ed96754a82fd6e0d40c1e9d801bd08a7ae486b277fb6ca55464a764d5ff5d276f4868dadd57a0274f949673fbab132d791e45df0bfe10531f4c28421aedf75e2574170b48d4e6bdabaa185fef9cf5cfb2b8906f061c5c966269b8eda22bb95500a288b34b8ded72f210b923f3389490a896e1631ce945219ec65d817fd0064ede96b603fe8af95d6af2b78af02e2829b683b1ebf55451fb21fe0691b5d22fbc9a1a2dbe17856171bcd31868682b7ab03ce4c9ae553b9c4e1ce948dfb12d7d3507b1350a466111f1e9d330cbd28509a69fa061c703269b6e39a3fd61a3bb06f9712141a012e9f1977d6a79f843050744a699bb171109d52c7677844d1e068390739db8a9bba0e1a740e549376c4ce5ff0359ec042baf2de2d345ef6ba296bfbc08b7cf198beb7ac26590f92784e40bbbc6e80557009539314d880452c56a28d0af3fb0574c7fc75e92234a2fb82782f56f35ca54096b941da55f384221208c44730bfb1855ef877c321d02deb1d202679ca8d4961cb82999e7a4cdaaea908a16a85e1e5cdeb9f0cedefb6e232c4e9952a58933b3cd2eb55d2668d1461dcc2bd34654126319d3d3ed655e87336a3bc73ba7fa32c73a47936980bb8e88ef7ceec1ece50dee8d09738d21cf662cc5a1549c656bbc8e425654f56213cf3581d8fd0652567c152835d1f9a4067e210379ad777a7db1d9e2f0495cc998f24a5ecdd39c141e3a6a0a84166f4b6e15910e93f2c3ccdc4ac5715d52cb014b94e3e12822eaf0314561e8119d38486d6335015fe636a7f568c0f7ace23207d36a545d0d2d2e9de548fd6291935647e8f259186c3110372e1e0453f1787850cb4447da2366e0cfd6897383df4c692ac3fdb85ef2ab0628f9bd7314c294dbe0da82d8de0efa72b00482b2eebcdf782d7d18c855febd0435ee3d2a5aef0c101b063e891124adbfc7bd947c87b3ec60083fc7c1e3139bdd8cd6c41980766936561d4b295f2491c8dd30ad7e5427b9867a3ade82c0840c9658ce4829d7d22a12537f50e5fcccef32331b6eba183cb4bee71a9ec064a902b48a044272697931f3f8ab9833f432354891a73cc95f4361052fe2005a76d97e0f80decd90a6a7d23358944ec7bf8cc9fa7501e79127834f3c9e32176668ebcec28a51f949878480d7db46ce07f108595858e9967aaae943609c81ccad596452d4c759fc5a0637be0acecb3511609bfca4aeefd7d9a53598b85e9902b094c022693abbdab522b1c21fae192f9f4f1daeb4bef812495f8e85fa6cda0107bde9c9c05bb55c824827ed2d0132d0dd327ece6d43e5458aaa214e9f336635f7b0931a1cf492119de81cd191bf4082e8e26f570ee887ee1a0808f39b5459fbfcfb628c2e70b2c7c9367ec1a12b47e4c9124b9ab5f4762a27e3c8a1090ec2a27d33961f94bc66cf3be9ce9adb26b960bb8c8f7c48099d685b453d6796517fdf036fbb6edd42c46f7710f2ade2c0be6af0d6659a6bf48dcc5a991a34f402bec0146814282e65328f2ae87b78b1506e68983f65f121180767217f587d25dd5a68d2809f7fd3d609c2786af4460cf88ecc2a7a2c0067f202c407df1da60a79e35d44a5525fc881f9b54937f7009a04f27ce4d8b7aa139b7f1cc3c7c0e90a8d114f30ff365355a926b80af641c08dced62f5f14ea1767a6a4b3bf14db7e3515f48be849638e059c62ea997b229a9e6a77ad0f1a1773e9f27e05957d3485fb55bcf9e0da8d768007a6fa02dd9de4d475d631d90bf6d43c33f265b58615f6ef1f430f3ac8d04fd0a332a18516f0d8bd0f4c4bb4a2e055e65250e356efd52ea21aee7b44ce276d081eceb6e9d2af73beb39ca93e2701844c0def42c49fca79271c9f402b74e3fbf2393cb7a42dc42c877353a4bde057465c4ad3eda8679c3960cbee2fcd41411a7b265b7ad19ab14b76d0768e5c05b5e7117b12d222bbcbf976eff9e84303f93c8145c0936aaeb150ff9ec7aa1cd06f4cd5ca698addcd86349fcd1b59e5d0a779356594c9a3484797c4515b194038588eab3e40a063f43aa15c0f9a8388c467bedfc1a3febaf6d2e54c014b05ec8446083cf5733c8fcf14daf8386d2841d03d80ada5cd3328463f543415845c48fd894134781aef5991639850af77ddeec3d4b72ff29075addd7442f821ef2041b8963d93b6e9bd4ba7658f0c234543fc47bdfd4a7863eecb73c167eee39cd75db3263655900de8bff1c64bc717af99a5a0b32ff4fed5b87942606ba46e006953760f98f06964639a6dcecd3a4916d1d854ffec03c2190fd676017760192caabb5cbe8a23188eb6bf0e02479cf6af79fd18739229d5ea89e21468aeba3459e9bfa89e64300e121a2c85e2a652bd5fdb1330f99eb207599372584637840e35b4984ac1c9923cccb549fcc66c751fb92d99dfb82c64b401b80a573a4799ebdbc4feb5c4ceb1e285aaddd89ddc5e2f5e90ab3ee40e8a36abbd7387cfafdeebb55201f87b501c2dc191fae82f49e14664b45b7e50deeb5b3124e69b52f16627ded6f2d9da3b5dd3a64f89885ba958ecadd869a5469cd9f5a082386e4103fa84d0555d13baa7f0c87df96b00f9bcbcaadc7cb2ea2aa73dfb8b10c65dd69ac09e4989a59b75f062e7648a3f8f394f8ae77d3b3123c6df3c230be97a8a468bdd8795ca73b8a9e63e54a670feaca4a3924e947079e3cac7a8f1cf78896f82c0fb39a0eea1fe9cbfa01818af28ac8e8fca5a75855ea2a4919e6dc5b647f1b16a1aa5621dbc6a7755e886f401fa0e91a603733d02f6da653defedb79d50fa483c3cecad16324ec7c9a777872374d651b03693d31ec8f7f246147175f0598f289c7b25da7a611a8bbad9f3c0888afabb6f7cfa459a22a872b0b5b0f765d94280f49a3d5fa5edb40cfc1d2bfb9518203caf0001aa679a5a98bafd00d261465b6ea7aaa4f2995db0ae83924d322f514d493a3c67ac12259a93684cbdfca63fab542dd24007247a3b2b5e2057ebe5a12af52649387c374c7952a4e3f25c1167b3d131717a08bff3c861599625e05790e01952af22ca911131b6f35ea24271e3c01492872f25f124a0191f58b5da8f6a4fba4ad7abd3458e552e91be75d192f2891832fecbc4c8fc6e3a94fa02d1602316bfecb430763a71bb577a180195cb77fc86f2c02f1df95fb46488557ea476ac5342e532ec66ab2ea6e1f09f92006938dd840ce58f7c92c7665c2255268ca2753c357b5ada01edab5ab83dc1328732e1d132407eb2aedde5e47104ed826640629faef614546bf885a6e071b11fe406ed5367d69adcc6a91d5f284a9d82abaf39e437ccd709349dd841bf39b93e0ba6b721fc2725f1baae0ba0eab0960e4ff78e6ff4367337f562a3cb1a17ba527cd180f31b5c4d280e6f1127b5b0788a42e69ac25c2a1d1e5271653a653b4f36a819c5d1e413d7807828a4ccd8a6bcdc9bae71dc7cd03d63acd7dc4e47561be3c6a0ec40ea7be9213478e10346907822ff10212bd9a31a7c06f6ecc24e76b806eb4cea69a29c7349fbeaf31aa195cebe7194771ca0194055a096dc297c0c7925f62de62e133e1fd2da07aacb658109b8422916c66d4f665b15db346bf7fa901adcd49327a64f21bdf7bd5822b0a1c3b6348241737736b3bcb4a4b74a2160f1a41fb73baadcebe2c16a9e474c7087e8384259dd3e039d696efb8ea10fa53cbc1273043f6280b2f2b28496b863fb982d79c696a0729178226a8bdc567d51a0608e7328390f648f73d2dce316afc73743b6e795f2bda31c5ef88fa8c9aae1b3b14aeb8841096907ce10b8af2214bdf8888166fa660f0c207b83929dc238352563b882da59c6094f114488261208ad68ae07c867cae26734b3655981f233a82a83d53467c4f25d4a1d223bf9bf4d1be49c985e7c2c04bc51bf3eda0d1ca90e0038113055548caf27486546c437f549d4c253b4607da079ebe9f318695dd85c23f6db4a34b32ff96b1b2a2411496f00f2fc627b00ea52145a8098f76979af9dc9a35981ac7ec8653765d0b514591bd276df961bcc0a7d900ed8486d9944283d0f1ae8a27b36614be92de600c2f4fd32fa6348b4e94175dedb8da867d3b2102ad14871c0c8813f22c7ced6c8e70678e4dfcb6289f720785728bcd5e859933df824a2ac08f2f47e365cfa246c79d5411003ae90f1e14d773694271d1c6337321235329d3eade8cc33b3af114a4efc7d8606a72bf12c1f67ba2bd9495be63fb55cc2d56aa8a8e420b4c5bbce29201d7b696f94a13324886b1b44b2244e101893d238667fdaf54fcadcd3bfa231d15cec8bf43d23127f4c65b789f4a0a0681b620c1e6cf96da468d545f6ec6b608cd213e7212110d397e6b8f8e8ae666a8def88a37c82eb841b456b8814edf9c91ee1a58c0567923ed6284c9bd5c401fa1ebbafe1b3501764a9aa46c85c12b842a4b1b14442c1352eebf8c2153f1d4811e7c5ff9885b1f852a1136474ff37ed1bde0966ccdf7600bbe12973e3427f0a81a4d2e8394e7d12affa7f08b19a819914ecf7fdabf4b244bcad2fb191a9613a86ed2cc8f3949966f4ec797bf1fd2ac890addc599d9d12881a904e495aa7dce820aede704f63eabedbb964621da2c0cb06fe029dadeb6b9e158a5b956b9f4efdd89328ec8b221eb6b5f11c11ec813e18335a30941764d629b8101ab3835fae18683b206e31131a4f2bbfe7fb6d80f0bf83089ccfc8659f5e2d15ceebaa795db05ebdd6ef35231be05def7b82515665da6a26deafc67e899e94921b7d7db96a42857845290bd3ca9f8788aaeba04f3641a2740aa5a2fa1caeefc1cda1221391c5e73b10ccdc68540ba52fdef5249040079b2641459790ee2ba8ef6bb6bdf5abb5b580166f3682f4cf1c8e580809ff0e8a8711b3ab31a6e7c13bec0999f15315b8fb5fd524e3acb7a741eea892fa4693a2af64c9babc93c48ad895aa44309da5919b43be072ae50fd3509ccf7111297ea4d02626c24f1bc574b5fc32bb8ada77a924993cfbc2509873910a0991f166c3bb77add438f039b21097036952a5149f5a7c6a8c42ca490214d6a0dc4e673270f86665b8a774d93e0c7c4a27a12646c94ca5c2bdf8919dd04707113682b1664887d17c39405ec9c54f04e55a96c6037bb3eb83b9b1e72dfe6394e45df8503c5b9c13e265d01d48f6dc1ed4ed627494f0d7a9bed616c30ef48952589712970e7ef152b94ef8eefd7827a28be7d6ddd3f6aa948baee5c11a7b7246ed5bf4cbabef74d39626a3759e1432a545dbf4ddcd0109a943c1955e82be4c6be533d2f6040b575cac111967a5e2e5933ab1bed2178fa58a7464613f6e8b162cebf91e43678bc070a4a98be6a0e6cbb57a0fb3b39133ff49a20f5f10cd2d746e3405e3560c738c951b97e7ef74945421c0bb9a3b53a04aa8a476c8cd8aa0a7fd107f5a4fd0dc2f0858c429e0dcd11da525ea36f6431a90a645d5080a5f971ac5e1ad4544e711d04ba85f6be4fc3ce5d263a6a121ff63201af968c4627d7f7b4121f74718051cae0e1c17d115bd56b673ae98e057ff55c3d7345097e43898219c05cf5be2655473df468d9f7c626d219f2044418cf5beddaf28a8841b0addd5171e0e392d42ae61d0733b75644bb91005626ad8ad35ee75ed19c031773f3d9cbb50307b44140fa37db3e9648f7a31ad0d388755e587caf3936d79ee81bbb08714712fd54e121f2bcbcbbafcf22e99330698a1b714ef1c41418714e00ddb7002590d8219b2c21bba11fc4e4106f88e696178cef7366bc46feb6a407a94a61cd643c952b5e1cff54faf725e325b9115793ca755aff8f5627872c65fee0ff0b022b97496fb5f74e7eab7cc072524d0d34c16f79d381fbc90366a87a321bb7d70cdf0dbf59808e5badaceef3258fe158d177faa749c5bb75f98189a5fe11a18d22d5750fdff13c7f7bc2890dbc5702345156cc3a7f6a1acb2fa359c3e1f3d4daa7533d5a3f5a7d47c905ae968074de059e2bb72b5d43ca8f699e48a2423a263ae4df4625bbb1508d1025852eade7a6d1c5c71a9b2a51034ebb96154caac7383048305a44a1e6364791cade26567ebfae35313fc480da945bcb3b679b17c166da0e021618c6c630464f0d7672a897f220e1647350160e6b3ccc4fed292acc3c444f94f944ac4fb42c3211bfc84a820768caf10f48725cd707480c414d49ea0e7a8416436c6991684b5d21d1b51468ff5bb659dc9274a8c9373318dc72c18f2524541811bdaf34493482652016f939650d2918eab7631eba830637e44b800e29ebc8b28fe05c36c38e668f0dcc43fbeec3577614186f3432e589e01fe99e624073d0af61a09ebddb37dfea29507231b79337cd9da77c4f50bf59789c2adca85cd5b9b03b3baceda595704b5fc5b3ae0f81922fc8d43b2ba6acba936a8e9ce16138fb8614004950a65a8caffeff4470fe0a5a3a44ae6d7132242284556668071c9d0fb722135765057a78d27f1ef16c7d07da6428b3a39a2517951099899a2c8bcbfc96778b04674f5574a78e7362226f4725232d6e92f4bc635568e94eb0663d1fea12140cad637ec9b404c7e10c6cc3a1baeda06eeda8832c5f75a31fb5f2100f815721fe2d90da84e842edb08331081bba6ba4f12115f09023391927c0439b326155be1615800e1f7e0d5dd771391f718f9327dadfeb8ceb1582f50cbd4306e0fefebe83ce6682b18106b0823bdb6f8545302945328a86ee9e78546b7c3a08b472358ce727faaafe6c387bb1bacdf13e4db46774f15853af26f9f14de7653b3257072f98d567ab226f43a126e5af15b28fc7c0837a542bd5fdd673d0e3194ba56d97948408eac8fb29c11ae5db461cbac8c6d28f6721e46f08c184c159179761e72089d474f427453d1a4f4761410e4183072191dc17a5faeb89f4294a9a62b7878f67df54c94c4e2e338f4fcd7004725119d694d731cf4a052bafdfa27336d1a3c0f667351deed239c5e85ba7a822f173f4a747fc98dd96d4c57c087ccf8547b0b3a04130e53222b1e30153b9c7ac6633709e2062fc87561bcf4a97b18fb3a397d2ff816c3826ea1ce7480965bcaebd4acb91333c979dc5ca6d79720160ffb3ad56fdd8797bbf0943ce8f5d94d13721cd6cfce005e27da1365083fbcfe4b9c9e0cd94b3bbc4e6ca2e24c64549c62882b77b2f9edd084d35027f2d4f993612e661f1785f41458bfbb02736e6129abc7372fb3f10d3599a1273b5fbf79e381bd67b03f27f6d1cc764ba6897487f68993991a004c5002b90d1d8a7a8ec28d27a09d7a7176af2826222aada79389a38a4ccf1dc2dd54086ed6ed27399f756da0d1439733d3df9ecac481c844a914c2f7b1135dc84aa016a3583e2d35f827833741f97eb7fbbbf4bee424e5348ee3aec16aa6ade123345fd48979bab31c1c9f6e79678477d3b93e1b64b6ad3a056f485316e813831ed39ff64765fc006fe0b75cc20047cb9bed4071c7618a82e0cb3197cba1f42582eee7a1bd2426cf65f913003a8878b73026003f1fbbe84280524df56395d08a8649f48bffc5d1331838840b71781760efe055fb9de3bb301692b08bb68268b36aae9c8342a641482a3202b5f2eb8ffe2571b7e58065aef77a6c58f66598ad288f3d7b0bbee6eabb67eadaa9af040c148da3cab5e002589de9e8b3e94f9c1983a81cf2e5860091ebb5c41e5ee0254865026b00982173ffd69753d6394d5db1bf2a46fee5bb509a14593a8e3815241cfb1099e28af62ae321ab0c376750726b98d4bc35536d9cc328c83789d939e39d2ad770c924b76cb2aeaff31de6938b04eec546d532bbb770ab352ca3b66d52f87af76fb28c19e4c481baea62e773014bbb4b647a1ade14b84b0aacc38612d6dcf939904209cddc553b0a0274d96471915abd60ef76a1dbaf92be994e882fe0c5c9a049cc632dce3952c9730270df1d312a94b85a325744ba53512ca1abc68cf2453b02698d18fdffffff784674d2c8ba5dfe839892f8e56eedb378b7f5947272f9634c8ce7aea1324f0f034c63d427b605015d279d0508f52c967c4ae24f6fb39f78bd75b1a18873ff4ddf6fe6950fd83a723805a2c05dd2bf4f7ad494a0fd9cd8b5fb12743062d90e9b4fc421d13025694b1253f0a780a571e33833d705cbe4e248fde3587d1b4456b26cc2d5a957a67a7ee0de9f12dfa652231d94ee2a2bbed8cd631199b484fc1ac0f72455c9cb1b421a0d120acb4619bca83e21a3e0f2b8467740235e3ec448462eb96d2e2cbfb8ff2e9865cc83878f7157a970ed40e8e96414fb7b542c4f16b40206ec64704364e39d404013c929cea93280d0c47026e9cd17d42a2293e2c79b1e82c46d4dbab1743422a327b13e4df430367980fd4a80eb84fec3b84de027ee40016e1a8a65fcf84358d88cac80d44b88940fbedbeb87a5e65759c581c1380bbe46080065b8221e4d1441b758e2d19d324f9562d1240efdab2a1d85086e554d2ba8713a2d4d252c163106d05b1b1d40f875f97326dd44b20c16c734f2001e8e5a972283741e4e8cff3ae269590f07fa1bd0caa2faf2bca9e57f78001212b53da5fa56e14bdbeae91ecc48cdea4e9855544e2f397ae6c62bdcfd970934af68c4c8e0a672164c8b8d03ac9491fb01ec107eb893a711caea8f6ff7bd1c3936353e647590037945d6afabea2e370c9dfb4be0a6bc59b669bd5b524fcd59f88daa8993956743c6bbe2353292ee08364c2dd247e208d64429b4ea05762c7003067a57f6a510ddf28ea53e4b74756594fd73e6878e8a9efb502f9d420fbc055ae5d29dbf8a04eedc0d161c5d418ab0093c158a3860f2ce8c58fe5e20b7a15936e819f41578c4682b8c820c8144bc156a765b09c6e39d06ac9f468978a318b4728e6a2d4444d9ce9adce3461033b4cd3ce72cb40aa47a71f228bec64a74ec83f2cc0e54da8bb75fb2d22c2fe1eb22395de5d204b77a8ff6dee8b4a0e43141792fc45c34a51970016a9f4f123d30ed3f8ad9204cfdfcb7ab3dfa2fd38ae60512ac40589e7d408d3cfeb744696f4e97cffbdf88595bf863ba2e371ea413bd83e2bb08b7bb4205fc8624d2acd869655998a0114a53c7b53948367f02597556f02dcc7f935c8bb4113596fc29e2836a43aff89278d200679251c5dcf3b93ac6c8a1b5aab175ec73f2fae15f33ccdd8223852f298f051e8f4f7515c5db2ef088631d92d1d7340cfccd40893ecc3280c3de539884dc492a8ff9c1b2ab77060a45fc0af692659c0b34fe286ba99789e1502fc53446d9f2c15303b4ba2281ca9e69f9358f75f3eafb12a5e02a15460bdb8c2c4466c36a41a370ed8984c0d0d759fe702aa7b232fdac28b4bc440415cad1ea029c944c0455aa9f8c96deaf525b290565df3fa8687be31f7f2cc98b872e0e6d505e21b43b736e47e3882eba602ae8e84ea9e1b01c2e53b2d9af9519203c705c8a6e31545e0b09723f766debfd88d5016e8e4708d612336e284f94c10d050609e7ec2fb99011141f5b22ff808b98d940867ce62dd1dc47906b0b979c8c9fa368fed43fb0f6921ba9cda9639fbb861baadc1b12dab3229b86d31631f7fb0dc0df919a6ac0a31e1615d3116a3d29d1a9ac34e25a12dbd3ee3b6cec4f58eac27b80ab91076978ed2b95d3f9789b46da999e568aab07e4987dc642dfc2d03edf0b281a0271a4002b4bede13238287366c27de5632d7fb780b967d8191506cd521b1514dba003bcf8e1492e615c8b8d8d6eea9f742aff79499a836d2772c2f5638fddd2a1c76c5c721f5e9172548852d1a3faf1422a300815ff26a7965b5bea42150a21ac8fb3b5d4a8e2a9b89849b9056db2d5b9328e8803257973a916bcfd3ab9c240f9686855d40feb196549c39598ec0b1b942d87570d52a25b5ada44e9fbe77010825b6f862dd4aa4b9a43b5409f5c274bbaddf66b39971730f27b0f7824ec75437c2c5d2d7bd8d4ce099633507164b10d5e19fd1d2fd3274a6a0e931fac3cec5c2c75d2e4dc3b818c31c8431124894322603cb8de65611e8fb558ac68245cbc2385b43a0d0228cd3c57a49dfe2f686e46add449d80c28182d6a70055bf42aa1d07ee709c9e20fb3288bc58c0dd898181f0a6d06a0c72ddf729a0bf4146fde9eafd4bb04f23b9d9d382749f48c94cd88136217ba575885c43fbc879b932d5ed03f57059571ab86edaf2b572b3243408634c95fc1b161fc5d9fedbcad148bef704f6a0637e332a2b11052586918263f1ea280a1d0e339f38e17e3f1d0f1a4063c693d4868fbc654362a8a153b6fd2e3361af233779ddadfae5ae0b364f1b1fce7957c0e3b0275acd600", 0x2000, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 20:03:00 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) bind(r0, &(0x7f0000000080)=@in={0x2, 0x0, @multicast1}, 0x80) 20:03:00 executing program 4: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_mgmt(&(0x7f0000000940), r1) sendmsg$NLBL_MGMT_C_REMOVE(r0, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000300)={0x1c, r2, 0x1, 0x0, 0x0, {}, [@NLBL_MGMT_A_DOMAIN={0x7, 0x1, '@@\x00'}]}, 0x1c}}, 0x0) 20:03:00 executing program 5: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_mgmt(&(0x7f0000000940), r1) sendmsg$NLBL_MGMT_C_ADDDEF(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f00000001c0)={0x24, r2, 0x1, 0x0, 0x0, {}, [@NLBL_MGMT_A_IPV4MASK={0x8, 0x8, @local}, @NLBL_MGMT_A_PROTOCOL={0x8}]}, 0x24}}, 0x0) 20:03:00 executing program 2: capset(&(0x7f0000000000)={0x20080522}, &(0x7f0000000280)) bpf$PROG_LOAD(0x5, &(0x7f00000017c0)={0x1, 0xe, &(0x7f0000000bc0)=ANY=[@ANYBLOB="b7000000df000000bfa30000000000000703000000feffff720af0fff8ffffff71a4f0ff000000005d040200000000001d400500000000004704000001ed00007b130000000000000f440000000000007a0a00fe00ffffffc3030000f1020000b5000000000000009500000000000000023bc065b58111c6dfa041b63af4a3912435f1a864a710e4d58db6a693002e7f3be361917adef6ee1c8e2a4f8ef1e50becb19bc461e91a7168c50000000190f32050e436fe275daf51efd601b6bf01c8e8b1b526375ec4dd6fcd82e4fee5bef7af9aa0d7d600c095199fe3ff3128e599b0eaebbdbd732c9cc00eec363e4a8f6456e2cc21557c0afc646cb7798b3e6440c2fbdb00c37dfca3e35208b0bb0d2cd829e654400e2438ec649dc74a28610643a98d9ec21ead2ed51b104d4d91af25b845d8a7925c3109b151b8b9f75dd08d123deda88c658d42ecbf28bf7076c15b463bebba2c598b4fc72f526d8e8afcb913466aaa7f6df70252e79166d858fcd0e06dd31af9612f2460d0b11008e59a5923906f88b53987ad1714e72ba7a54f0c33d39000d06a59ff616236fd9aa58f2477184b6a89adaf17b0a6041bdef728d236619074d6ebdfd1f5089048ddff6da40f9411fe722631cb467600ade70063e5291569b33d21dae356e1c51f03a801be8189679a16da18ec0ae564162a27afea62d84f3a1074649c6bc6ea9f2bca4464f56e24e6d2105bd901204a1deeed4155617572652d950ad31928b0b0c0dc2869f478341d02d0f5ad94b081fcd507acb4b9c65fee9d5a17f48a7382f13d000000225d85ae49cee383dc5049076b989b40000000000000da60d2ae20cfb91d6acdf538f9ce2bdb1ab062cd54e67011d355d84ce97bb0c6b4a595e487efbb2d71cde2c140952f9a0f0bc6980fe78683ac5c0c31032599ddd71063be9261b2e1aab1675b34a22048ef8c126aeef5f510a8f1aded94a129e4aec6f8d9ab06faffc3a15d96c2ea3e2e04cfe031b2875353193f82ade69d0540059fe6c7fe7cd8697502c7596566d674e425da5e87e59602a9f6590521d31d3804b3e0a1053abdc31282dfb15eb6841bb64a1b304502dda787343ce3c953992e4a982f3c48153baae244e7bf37548c7f1a4cad2422ee965a38f7defbd2160242b104e20dc2d9b0c35608d402ccdd9069bd50b994fda7a9de44028d6112a0c2d21b2dc98816106dec28eaeb883418f562ae00003ea96d10f172c0374d6eed826416050000000bfe9b4a9c5a90ff59d54d1f92ecc4e95dd2d18383117c039862198899b212c55318294270a1ad10c80fef7c24d47afce829ba0f85da6d888f18ea40ab959f6074ab2a40d85d15017ab513cdc6c0e57fb1c1ca571380d7b4ead35a385e0b4a26b702396df7e0c1e02b6e4114f244a9bf93f04bf072f0861f7580e69db384ac7eeedcf2ba1a9508f9d6aba582a896a9f1ffa968eacea75caf822a7a63ba34015ea5aacb1188883ad2a3b1832371fe5bc621426d1ed0a4a99702cc1b6912a1e717d29135753208165b9cdbae2ed9dc7358f0ebadde0b727f27feeb744ddcc536cbae315c7d1fe1399562ba6824840bd2951680f6f2f9a6a8346962a350845ffa0d829e4f79adc287906943408e6df3c3bfd03aac93df8866fb010aec0e92bed1fe39af169d2a466f0db6f3d9436a7d55fc30511d00000000c95265b2bd83d64a532869d701723fed000000007baa5b6a686b50f0937f778af083e055f6138a757ebd0ed93517a6b244f9acf41ac5d73a008364e0606a594817031fc2f52c8785fe0721719b3d654026c6ea08b83b123145ab5703dad844ceb201ddeb6dc5f6a903792283c42efc54fa84323afc4c10eff462c8843187f1dd48ef3fa293774d582956ff0f40b10ca94f6feeb2893c17888e1cdba94a6ea80c33ead5722c3293a493f1479531dd88261458f40d31fe8df15efaaeea831555877f9538d6ee6ba65893ff1f908ba7554ba583fef3ec7932f5954f31a878e2fae6691d1aee1da02ba516467df3e7d1daac43738012e4fee18a22da19fcdb4c2890cda1f96b952511e3a69d694d625e0b2f808890205f3a6da2819d2f9e77c7c64affa54fec0136cbafa5f62e96753b639a924599c1f69219927ea5301fff0a6063d427f0688430754c02180d61542c25000000000000000005a7b57f03ca91a01ba2e30ca99e8ebc15ecb4d91675767999d146aef7799738b292fd640dfef6b04d086f737a159d7e0c6e4d81ad64a8bbca485683252b15f36b788bce5ccdbaf75c94cb93499f6947a967a7bce14c6de4e7c0660d80010f5c653d22d49030a8c2a4ab595bf4238f18ca428dafc7ac96d404607a0000000051a2104f22e6db5a62b5089c1b45282d38864daa3ae81d6b0968d1d2867b91b7d120617d12d91db2633d6864da40b54783a17aaeb6737c323f9f98e354cc98dcfe23ad01bd1c61563e69ffe1c2c73e1661261173f359e93d2c5e424c17998829ec8f0232b3955e052a4cecd89008f70314a0bdd491ec86a4555d89fe0120f64c62e8e3ed8bcb45202c3d4bbec8d722824c0ebca8db1ea4a0032f37ff559be78537756ab5bbe4fe9af5d785d0128171c90d9900ce2532b0f9d01c4b45294fbba468df3e1b393cb4e62e754598e47df6bd06431c94bc5d047899fd219f448bf9189c65c9d91eda6b52a373803a9efe44f86909bc90addb7b9aee813df534aac4b3093c91b8068cd849904568916694d461b76a58d88cf0f520310a1e9fdc18cde98d662eee07751532d5e7d0a8811922929e085392ab3d1311b8243266d87047f601fa88a0da36b9f302e8262395174328f2482d14008de83070744f143fdec90ba5a82668d5fac114c13955ad6dca5db2231d8ba14c54c47ed04a4b4ace17e357e1d6432399f87a7a14245bbd796a09313b247b95d37ff40a404bdad74bd20000000000000000000099fef7cd7af3ce64a92f95d89d125b1e641240d7e5e2fa3d1f7684448c3e3822d617e205061298b939a191be4b48e169bde2cae3accc5bd40a2968b59c93d35f8e42366fdef907000000f01ce68abff28861aac8302d268569dd42e194e330c7aaa54ebbcefd23f21ce8153b9926e12e015cb56119df72c7533a48d028ad0c74e2a9478fa3be18a1a2b65079cc1c7bc46dd12305a1ae9dd19e8d525206c0a728cfd42193abe8130b51d6c9b94c5513df2d85e8c01a2d69841f3d7799ac04bdc590bb1c89b9c695f163e57343c9bfb59909433c9001c5f8b23e38534a538fc933cac6c2a92d038df638a0f226df9fb857bd414c2cd69985e8053e3dfa41614d7c74d04d8c2471041d17c730fad28395f8d4688898cd58b9d600c851626529bb581012fd7a8139166fd5e59c84f4ab279b1b99c028db4cb9680c8035f967db18de738844da7e260a830c1ffa49f5af3c15423a0e315acb82a3e89218cb314e68fda4d94aa1d815babc13b9fd336d205c5913ef670000000000000000ba470bfe62fe2933082149d42e8a000000000000000078e8b8dbf79c0116d311a67cda1bbdfb466d0941c59af88b242da71536322656fa1f246ab20ccfd9e65299b4e40a90faaf452a"], &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffd00}, 0x48) 20:03:00 executing program 3: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_calipso(&(0x7f0000000200), r1) sendmsg$NLBL_CALIPSO_C_ADD(r0, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000380)={0x14, r2, 0x1}, 0x14}}, 0x0) 20:03:00 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0xb, &(0x7f0000000000), 0x4) 20:03:00 executing program 5: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_mgmt(&(0x7f0000000940), r1) sendmsg$NLBL_MGMT_C_ADDDEF(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f00000001c0)={0x24, r2, 0x1, 0x0, 0x0, {}, [@NLBL_MGMT_A_PROTOCOL={0x8}, @NLBL_MGMT_A_IPV4ADDR={0x8, 0x7, @local}]}, 0x24}}, 0x0) 20:03:00 executing program 2: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)='sysfs\x00', 0x0, 0x0) chdir(&(0x7f0000000180)='./file0\x00') r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) mknodat$null(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x2000, 0x103) 20:03:01 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCCHG6RD(r0, 0x5452, &(0x7f0000000b80)={'sit0\x00', 0x0}) ioctl$int_in(r0, 0x5452, &(0x7f0000000000)) 20:03:01 executing program 3: r0 = syz_open_dev$video4linux(&(0x7f0000000000), 0xffff, 0x0) ioctl$VIDIOC_SUBDEV_S_FMT(r0, 0xc040563e, &(0x7f0000000080)={0x0, 0x0, {0x0, 0x0, 0x0, 0xe7ffffff}}) 20:03:01 executing program 4: syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./bus\x00', 0x4045ff, 0x15, &(0x7f0000000bc0)=[{&(0x7f0000000940)="eb52904e5446532020202000020800000000000000f80000000000000000000000000000800080e6fe0f000000f522857f00000000000000ff00000000000000f6000000014567c216e62d65738c85d6d61d0033", 0x54}, {&(0x7f00000001c0)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000001000000000000020000000000000002000000000000000110102", 0x18b, 0x4000}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x41e0}, {&(0x7f00000102e0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000104c0)="000000000000000000000000000000000000000000000000000000000000020046494c45300003000000000000000000020000e538000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000e10004000000000021400001", 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, 0x45000}, {&(0x7f000001b200)="10", 0x1, 0x46080}, {&(0x7f00000007c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x48000}, {&(0x7f000003c0c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3fe5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebdf0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000270000000000000000000000000000000000000000000002", 0x1f, 0x4045de}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) 20:03:01 executing program 2: syz_emit_vhci(&(0x7f00000002c0)=@HCI_EVENT_PKT={0x5, @inquiry_info={{0x2, 0x1}}}, 0x4) 20:03:01 executing program 5: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000940)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a5050000000077d8f3b423cdac8d80000000000000002be16ad10a48b243ccc42606d25dfd73a015e0ca7fc2506a0f68a7d06d7535f7866907dc6751dfb265a0e3e0ae669e173a649c1cfd6587d452d64e7cc957d77578f4c35235138d5521f9453559c35da860e8efbc6f2b2a3e314422b854421eed73d5661cfeecf9c66c54c3b3ffe1b4ce25d7c983c044c03bf3a48dfe3e26e7a23129d6606fd28a69989d552af6d9a9df2c3af36e0360050011bbecc2f4a3799af2551ce935b0f327cb3f011a7d06602e2fd5234712596b696418f163d1a13ed38ae82f87925bfacba83101753f541cd027edd68149ee99eebc6f7d6dd4aed4af7588c8e1b44ccb19e810879b70a7000000d7900a820b63278f4e9a217b98ef7042ad2a92895614cd50cbe43a1ed25268816b00000000000009d27d753a30a147b24a48435bd8a568669596e9e0866bf5ea75c7c2e98082f06fa8cd78d0eeaae7e4755a27a1c972a0b6ebb90cdc7cb2c1667ead0fbb77754488c261982b5b92992308c443d1d513e12f28c2c0d9bdd129eb964818f49080bd353d1d1855d6e7ed055ebe81c40db7eb3b05297786be5f1a980a050d308b8689a903aab18df210264a73ce730ac2734d1bef89a98acda325f733972f6afdb60b40aedf59869b5a3cb00d8c77a265ca46ed70df1c061593e9655a672432f80b682565361065fc860399e7217be15772cecd525d8069f2fb00"/578], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00'}, 0x10) socketpair$tipc(0x1e, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff}) write$6lowpan_enable(0xffffffffffffffff, &(0x7f0000000000)='0', 0xfffffd2c) openat(0xffffffffffffffff, 0x0, 0x0, 0x0) bpf$BPF_GET_BTF_INFO(0xf, 0x0, 0x0) signalfd(0xffffffffffffffff, 0x0, 0x0) bpf$PROG_LOAD(0x5, 0x0, 0x0) setsockopt$TIPC_SRC_DROPPABLE(r0, 0x10f, 0x80, &(0x7f00000000c0)=0x5, 0x4) sendmmsg(r0, &(0x7f0000005440)=[{{0x0, 0xfffffffffffffcfb, 0x0}}], 0xfb93a852dd518c, 0x0) 20:03:01 executing program 3: syz_usb_connect$printer(0x0, 0x2d, &(0x7f0000000040)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x20, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x1b, 0x1}}]}}, 0x0) syz_clone3(&(0x7f0000001e80)={0x0, 0x0, 0x0, 0x0, {}, 0x0, 0x0, 0x0, 0x0}, 0x58) 20:03:01 executing program 4: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r0, 0x89f0, &(0x7f00000003c0)={'sit0\x00', &(0x7f0000000300)={'gretap0\x00', 0x0, 0x0, 0x0, 0x0, 0x0, {{0x5, 0x4, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, @remote, @local}}}}) 20:03:01 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="f20c99596c85889b9030c36ff09ef4e543f045b889ec3a9b8f9b6db07fb42d7c9d77e9195a3346da6120e1edb0a23414147000f0e2d8ccd71216d8cd789a9b711539a93b32ccb547a26489749cd038d5c1aa44214df6d33cdbcbdb2cf8f324762a3cf8a27b87d14732e8d238f96007adf8c3deab9fc5e75c13ad467e04b76feccaa71fe87ba2528838336731153ad92ca8feac48f8a32db9ffdc06616f47995e97779e9a21f2122df5e28d9dc2ed4042c81af9a6ac81428cd94f7c0143eae5428e7b6757bb92d59cdb2123c3141b2ad6fbc2fccf837e429f0fc03a8351bdf6bb9dc6640456c47942ab7085ca5b6af062470de60c59a6ac6348b839d3006f72064b478239efae9dc5b6693a17857fe73c1a6b4639857431e40954576aaafc18c1ea3784e8a4f91cfea4f431c9db564352f2d8bd13d536e9f2f10e5a8a94e259357387bde9440ca93cd999f8989a2133ab4837bab3e820c13eb94c91279d2c29838395b517c36be671264c905c28c05fabd71c8d80464f600f0e62f3b50d73d1776a2fb9e3cd4eb119fee0ce0c969c5333f27042e507aa2438c80d7ce54fa5baf3c3676e66d589cf03ed1f5eb778869ff331c14d770e4760f32972233d87053419a0f0c977a1d0c4d9ae8de6a8a8adb288ee1f935c68e74ee05a15266e4ff936b48ca8da0f4f29e71320bcc01b70f9a19954484f37e9d7bf23eb5feac99b709817b1b7894b9897c88575703c21aa55b361f8137687b2348a69aad1bb5d76d9f8b011ca9b795b6db2b4b1bde9acb5512adc4de503473457fe4b503a95c4fb129dd707fe0cf371e34d0416a3eb7d3deb93d9747e55bf3c957f1f0e0b5d9e78bcef25b7e290263870bc526f7dbc81c691126d73c84d3f04fd06750d94fd1010563cfd23c036e7b48d2ac230ef4fa3584288e5e86b1f9bbb9926c32fd7ae47a7320e696c9bac75b1bcf1c79c528118b6887a7b9d0789bc5ca8c6abcec94c57ab9cfdc9302a64c8fedf8e93dbfcab1c9e8fb22ddd7f9c693c882cd886f40beb5f189a7c2f0d080fffbb6f8614c2463ca82925deb338f0d3b27ce3e6ef261e2f630a583810f2e3702afc05b50678fcacb6dcb36032aa5d36cddb24a1d5f271800c8f9741dd5f6a311a87d1658acd94cf78a1aff3730d9a1ef89d0dc175eb403b69ac0dc8a2b1e9590bae99aabcd504f02eec75e4e5ed0a65991e4696bd4f77ebedb0f1de20f6b7456eda5a36894923e21e60f80a91fd1c169a6a55c5a6c7e8677edf53fca4f8b1f23820fcab6a3f5ed96754a82fd6e0d40c1e9d801bd08a7ae486b277fb6ca55464a764d5ff5d276f4868dadd57a0274f949673fbab132d791e45df0bfe10531f4c28421aedf75e2574170b48d4e6bdabaa185fef9cf5cfb2b8906f061c5c966269b8eda22bb95500a288b34b8ded72f210b923f3389490a896e1631ce945219ec65d817fd0064ede96b603fe8af95d6af2b78af02e2829b683b1ebf55451fb21fe0691b5d22fbc9a1a2dbe17856171bcd31868682b7ab03ce4c9ae553b9c4e1ce948dfb12d7d3507b1350a466111f1e9d330cbd28509a69fa061c703269b6e39a3fd61a3bb06f9712141a012e9f1977d6a79f843050744a699bb171109d52c7677844d1e068390739db8a9bba0e1a740e549376c4ce5ff0359ec042baf2de2d345ef6ba296bfbc08b7cf198beb7ac26590f92784e40bbbc6e80557009539314d880452c56a28d0af3fb0574c7fc75e92234a2fb82782f56f35ca54096b941da55f384221208c44730bfb1855ef877c321d02deb1d202679ca8d4961cb82999e7a4cdaaea908a16a85e1e5cdeb9f0cedefb6e232c4e9952a58933b3cd2eb55d2668d1461dcc2bd34654126319d3d3ed655e87336a3bc73ba7fa32c73a47936980bb8e88ef7ceec1ece50dee8d09738d21cf662cc5a1549c656bbc8e425654f56213cf3581d8fd0652567c152835d1f9a4067e210379ad777a7db1d9e2f0495cc998f24a5ecdd39c141e3a6a0a84166f4b6e15910e93f2c3ccdc4ac5715d52cb014b94e3e12822eaf0314561e8119d38486d6335015fe636a7f568c0f7ace23207d36a545d0d2d2e9de548fd6291935647e8f259186c3110372e1e0453f1787850cb4447da2366e0cfd6897383df4c692ac3fdb85ef2ab0628f9bd7314c294dbe0da82d8de0efa72b00482b2eebcdf782d7d18c855febd0435ee3d2a5aef0c101b063e891124adbfc7bd947c87b3ec60083fc7c1e3139bdd8cd6c41980766936561d4b295f2491c8dd30ad7e5427b9867a3ade82c0840c9658ce4829d7d22a12537f50e5fcccef32331b6eba183cb4bee71a9ec064a902b48a044272697931f3f8ab9833f432354891a73cc95f4361052fe2005a76d97e0f80decd90a6a7d23358944ec7bf8cc9fa7501e79127834f3c9e32176668ebcec28a51f949878480d7db46ce07f108595858e9967aaae943609c81ccad596452d4c759fc5a0637be0acecb3511609bfca4aeefd7d9a53598b85e9902b094c022693abbdab522b1c21fae192f9f4f1daeb4bef812495f8e85fa6cda0107bde9c9c05bb55c824827ed2d0132d0dd327ece6d43e5458aaa214e9f336635f7b0931a1cf492119de81cd191bf4082e8e26f570ee887ee1a0808f39b5459fbfcfb628c2e70b2c7c9367ec1a12b47e4c9124b9ab5f4762a27e3c8a1090ec2a27d33961f94bc66cf3be9ce9adb26b960bb8c8f7c48099d685b453d6796517fdf036fbb6edd42c46f7710f2ade2c0be6af0d6659a6bf48dcc5a991a34f402bec0146814282e65328f2ae87b78b1506e68983f65f121180767217f587d25dd5a68d2809f7fd3d609c2786af4460cf88ecc2a7a2c0067f202c407df1da60a79e35d44a5525fc881f9b54937f7009a04f27ce4d8b7aa139b7f1cc3c7c0e90a8d114f30ff365355a926b80af641c08dced62f5f14ea1767a6a4b3bf14db7e3515f48be849638e059c62ea997b229a9e6a77ad0f1a1773e9f27e05957d3485fb55bcf9e0da8d768007a6fa02dd9de4d475d631d90bf6d43c33f265b58615f6ef1f430f3ac8d04fd0a332a18516f0d8bd0f4c4bb4a2e055e65250e356efd52ea21aee7b44ce276d081eceb6e9d2af73beb39ca93e2701844c0def42c49fca79271c9f402b74e3fbf2393cb7a42dc42c877353a4bde057465c4ad3eda8679c3960cbee2fcd41411a7b265b7ad19ab14b76d0768e5c05b5e7117b12d222bbcbf976eff9e84303f93c8145c0936aaeb150ff9ec7aa1cd06f4cd5ca698addcd86349fcd1b59e5d0a779356594c9a3484797c4515b194038588eab3e40a063f43aa15c0f9a8388c467bedfc1a3febaf6d2e54c014b05ec8446083cf5733c8fcf14daf8386d2841d03d80ada5cd3328463f543415845c48fd894134781aef5991639850af77ddeec3d4b72ff29075addd7442f821ef2041b8963d93b6e9bd4ba7658f0c234543fc47bdfd4a7863eecb73c167eee39cd75db3263655900de8bff1c64bc717af99a5a0b32ff4fed5b87942606ba46e006953760f98f06964639a6dcecd3a4916d1d854ffec03c2190fd676017760192caabb5cbe8a23188eb6bf0e02479cf6af79fd18739229d5ea89e21468aeba3459e9bfa89e64300e121a2c85e2a652bd5fdb1330f99eb207599372584637840e35b4984ac1c9923cccb549fcc66c751fb92d99dfb82c64b401b80a573a4799ebdbc4feb5c4ceb1e285aaddd89ddc5e2f5e90ab3ee40e8a36abbd7387cfafdeebb55201f87b501c2dc191fae82f49e14664b45b7e50deeb5b3124e69b52f16627ded6f2d9da3b5dd3a64f89885ba958ecadd869a5469cd9f5a082386e4103fa84d0555d13baa7f0c87df96b00f9bcbcaadc7cb2ea2aa73dfb8b10c65dd69ac09e4989a59b75f062e7648a3f8f394f8ae77d3b3123c6df3c230be97a8a468bdd8795ca73b8a9e63e54a670feaca4a3924e947079e3cac7a8f1cf78896f82c0fb39a0eea1fe9cbfa01818af28ac8e8fca5a75855ea2a4919e6dc5b647f1b16a1aa5621dbc6a7755e886f401fa0e91a603733d02f6da653defedb79d50fa483c3cecad16324ec7c9a777872374d651b03693d31ec8f7f246147175f0598f289c7b25da7a611a8bbad9f3c0888afabb6f7cfa459a22a872b0b5b0f765d94280f49a3d5fa5edb40cfc1d2bfb9518203caf0001aa679a5a98bafd00d261465b6ea7aaa4f2995db0ae83924d322f514d493a3c67ac12259a93684cbdfca63fab542dd24007247a3b2b5e2057ebe5a12af52649387c374c7952a4e3f25c1167b3d131717a08bff3c861599625e05790e01952af22ca911131b6f35ea24271e3c01492872f25f124a0191f58b5da8f6a4fba4ad7abd3458e552e91be75d192f2891832fecbc4c8fc6e3a94fa02d1602316bfecb430763a71bb577a180195cb77fc86f2c02f1df95fb46488557ea476ac5342e532ec66ab2ea6e1f09f92006938dd840ce58f7c92c7665c2255268ca2753c357b5ada01edab5ab83dc1328732e1d132407eb2aedde5e47104ed826640629faef614546bf885a6e071b11fe406ed5367d69adcc6a91d5f284a9d82abaf39e437ccd709349dd841bf39b93e0ba6b721fc2725f1baae0ba0eab0960e4ff78e6ff4367337f562a3cb1a17ba527cd180f31b5c4d280e6f1127b5b0788a42e69ac25c2a1d1e5271653a653b4f36a819c5d1e413d7807828a4ccd8a6bcdc9bae71dc7cd03d63acd7dc4e47561be3c6a0ec40ea7be9213478e10346907822ff10212bd9a31a7c06f6ecc24e76b806eb4cea69a29c7349fbeaf31aa195cebe7194771ca0194055a096dc297c0c7925f62de62e133e1fd2da07aacb658109b8422916c66d4f665b15db346bf7fa901adcd49327a64f21bdf7bd5822b0a1c3b6348241737736b3bcb4a4b74a2160f1a41fb73baadcebe2c16a9e474c7087e8384259dd3e039d696efb8ea10fa53cbc1273043f6280b2f2b28496b863fb982d79c696a0729178226a8bdc567d51a0608e7328390f648f73d2dce316afc73743b6e795f2bda31c5ef88fa8c9aae1b3b14aeb8841096907ce10b8af2214bdf8888166fa660f0c207b83929dc238352563b882da59c6094f114488261208ad68ae07c867cae26734b3655981f233a82a83d53467c4f25d4a1d223bf9bf4d1be49c985e7c2c04bc51bf3eda0d1ca90e0038113055548caf27486546c437f549d4c253b4607da079ebe9f318695dd85c23f6db4a34b32ff96b1b2a2411496f00f2fc627b00ea52145a8098f76979af9dc9a35981ac7ec8653765d0b514591bd276df961bcc0a7d900ed8486d9944283d0f1ae8a27b36614be92de600c2f4fd32fa6348b4e94175dedb8da867d3b2102ad14871c0c8813f22c7ced6c8e70678e4dfcb6289f720785728bcd5e859933df824a2ac08f2f47e365cfa246c79d5411003ae90f1e14d773694271d1c6337321235329d3eade8cc33b3af114a4efc7d8606a72bf12c1f67ba2bd9495be63fb55cc2d56aa8a8e420b4c5bbce29201d7b696f94a13324886b1b44b2244e101893d238667fdaf54fcadcd3bfa231d15cec8bf43d23127f4c65b789f4a0a0681b620c1e6cf96da468d545f6ec6b608cd213e7212110d397e6b8f8e8ae666a8def88a37c82eb841b456b8814edf9c91ee1a58c0567923ed6284c9bd5c401fa1ebbafe1b3501764a9aa46c85c12b842a4b1b14442c1352eebf8c2153f1d4811e7c5ff9885b1f852a1136474ff37ed1bde0966ccdf7600bbe12973e3427f0a81a4d2e8394e7d12affa7f08b19a819914ecf7fdabf4b244bcad2fb191a9613a86ed2cc8f3949966f4ec797bf1fd2ac890addc599d9d12881a904e495aa7dce820aede704f63eabedbb964621da2c0cb06fe029dadeb6b9e158a5b956b9f4efdd89328ec8b221eb6b5f11c11ec813e18335a30941764d629b8101ab3835fae18683b206e31131a4f2bbfe7fb6d80f0bf83089ccfc8659f5e2d15ceebaa795db05ebdd6ef35231be05def7b82515665da6a26deafc67e899e94921b7d7db96a42857845290bd3ca9f8788aaeba04f3641a2740aa5a2fa1caeefc1cda1221391c5e73b10ccdc68540ba52fdef5249040079b2641459790ee2ba8ef6bb6bdf5abb5b580166f3682f4cf1c8e580809ff0e8a8711b3ab31a6e7c13bec0999f15315b8fb5fd524e3acb7a741eea892fa4693a2af64c9babc93c48ad895aa44309da5919b43be072ae50fd3509ccf7111297ea4d02626c24f1bc574b5fc32bb8ada77a924993cfbc2509873910a0991f166c3bb77add438f039b21097036952a5149f5a7c6a8c42ca490214d6a0dc4e673270f86665b8a774d93e0c7c4a27a12646c94ca5c2bdf8919dd04707113682b1664887d17c39405ec9c54f04e55a96c6037bb3eb83b9b1e72dfe6394e45df8503c5b9c13e265d01d48f6dc1ed4ed627494f0d7a9bed616c30ef48952589712970e7ef152b94ef8eefd7827a28be7d6ddd3f6aa948baee5c11a7b7246ed5bf4cbabef74d39626a3759e1432a545dbf4ddcd0109a943c1955e82be4c6be533d2f6040b575cac111967a5e2e5933ab1bed2178fa58a7464613f6e8b162cebf91e43678bc070a4a98be6a0e6cbb57a0fb3b39133ff49a20f5f10cd2d746e3405e3560c738c951b97e7ef74945421c0bb9a3b53a04aa8a476c8cd8aa0a7fd107f5a4fd0dc2f0858c429e0dcd11da525ea36f6431a90a645d5080a5f971ac5e1ad4544e711d04ba85f6be4fc3ce5d263a6a121ff63201af968c4627d7f7b4121f74718051cae0e1c17d115bd56b673ae98e057ff55c3d7345097e43898219c05cf5be2655473df468d9f7c626d219f2044418cf5beddaf28a8841b0addd5171e0e392d42ae61d0733b75644bb91005626ad8ad35ee75ed19c031773f3d9cbb50307b44140fa37db3e9648f7a31ad0d388755e587caf3936d79ee81bbb08714712fd54e121f2bcbcbbafcf22e99330698a1b714ef1c41418714e00ddb7002590d8219b2c21bba11fc4e4106f88e696178cef7366bc46feb6a407a94a61cd643c952b5e1cff54faf725e325b9115793ca755aff8f5627872c65fee0ff0b022b97496fb5f74e7eab7cc072524d0d34c16f79d381fbc90366a87a321bb7d70cdf0dbf59808e5badaceef3258fe158d177faa749c5bb75f98189a5fe11a18d22d5750fdff13c7f7bc2890dbc5702345156cc3a7f6a1acb2fa359c3e1f3d4daa7533d5a3f5a7d47c905ae968074de059e2bb72b5d43ca8f699e48a2423a263ae4df4625bbb1508d1025852eade7a6d1c5c71a9b2a51034ebb96154caac7383048305a44a1e6364791cade26567ebfae35313fc480da945bcb3b679b17c166da0e021618c6c630464f0d7672a897f220e1647350160e6b3ccc4fed292acc3c444f94f944ac4fb42c3211bfc84a820768caf10f48725cd707480c414d49ea0e7a8416436c6991684b5d21d1b51468ff5bb659dc9274a8c9373318dc72c18f2524541811bdaf34493482652016f939650d2918eab7631eba830637e44b800e29ebc8b28fe05c36c38e668f0dcc43fbeec3577614186f3432e589e01fe99e624073d0af61a09ebddb37dfea29507231b79337cd9da77c4f50bf59789c2adca85cd5b9b03b3baceda595704b5fc5b3ae0f81922fc8d43b2ba6acba936a8e9ce16138fb8614004950a65a8caffeff4470fe0a5a3a44ae6d7132242284556668071c9d0fb722135765057a78d27f1ef16c7d07da6428b3a39a2517951099899a2c8bcbfc96778b04674f5574a78e7362226f4725232d6e92f4bc635568e94eb0663d1fea12140cad637ec9b404c7e10c6cc3a1baeda06eeda8832c5f75a31fb5f2100f815721fe2d90da84e842edb08331081bba6ba4f12115f09023391927c0439b326155be1615800e1f7e0d5dd771391f718f9327dadfeb8ceb1582f50cbd4306e0fefebe83ce6682b18106b0823bdb6f8545302945328a86ee9e78546b7c3a08b472358ce727faaafe6c387bb1bacdf13e4db46774f15853af26f9f14de7653b3257072f98d567ab226f43a126e5af15b28fc7c0837a542bd5fdd673d0e3194ba56d97948408eac8fb29c11ae5db461cbac8c6d28f6721e46f08c184c159179761e72089d474f427453d1a4f4761410e4183072191dc17a5faeb89f4294a9a62b7878f67df54c94c4e2e338f4fcd7004725119d694d731cf4a052bafdfa27336d1a3c0f667351deed239c5e85ba7a822f173f4a747fc98dd96d4c57c087ccf8547b0b3a04130e53222b1e30153b9c7ac6633709e2062fc87561bcf4a97b18fb3a397d2ff816c3826ea1ce7480965bcaebd4acb91333c979dc5ca6d79720160ffb3ad56fdd8797bbf0943ce8f5d94d13721cd6cfce005e27da1365083fbcfe4b9c9e0cd94b3bbc4e6ca2e24c64549c62882b77b2f9edd084d35027f2d4f993612e661f1785f41458bfbb02736e6129abc7372fb3f10d3599a1273b5fbf79e381bd67b03f27f6d1cc764ba6897487f68993991a004c5002b90d1d8a7a8ec28d27a09d7a7176af2826222aada79389a38a4ccf1dc2dd54086ed6ed27399f756da0d1439733d3df9ecac481c844a914c2f7b1135dc84aa016a3583e2d35f827833741f97eb7fbbbf4bee424e5348ee3aec16aa6ade123345fd48979bab31c1c9f6e79678477d3b93e1b64b6ad3a056f485316e813831ed39ff64765fc006fe0b75cc20047cb9bed4071c7618a82e0cb3197cba1f42582eee7a1bd2426cf65f913003a8878b73026003f1fbbe84280524df56395d08a8649f48bffc5d1331838840b71781760efe055fb9de3bb301692b08bb68268b36aae9c8342a641482a3202b5f2eb8ffe2571b7e58065aef77a6c58f66598ad288f3d7b0bbee6eabb67eadaa9af040c148da3cab5e002589de9e8b3e94f9c1983a81cf2e5860091ebb5c41e5ee0254865026b00982173ffd69753d6394d5db1bf2a46fee5bb509a14593a8e3815241cfb1099e28af62ae321ab0c376750726b98d4bc35536d9cc328c83789d939e39d2ad770c924b76cb2aeaff31de6938b04eec546d532bbb770ab352ca3b66d52f87af76fb28c19e4c481baea62e773014bbb4b647a1ade14b84b0aacc38612d6dcf939904209cddc553b0a0274d96471915abd60ef76a1dbaf92be994e882fe0c5c9a049cc632dce3952c9730270df1d312a94b85a325744ba53512ca1abc68cf2453b02698d18fdffffff784674d2c8ba5dfe839892f8e56eedb378b7f5947272f9634c8ce7aea1324f0f034c63d427b605015d279d0508f52c967c4ae24f6fb39f78bd75b1a18873ff4ddf6fe6950fd83a723805a2c05dd2bf4f7ad494a0fd9cd8b5fb12743062d90e9b4fc421d13025694b1253f0a780a571e33833d705cbe4e248fde3587d1b4456b26cc2d5a957a67a7ee0de9f12dfa652231d94ee2a2bbed8cd631199b484fc1ac0f72455c9cb1b421a0d120acb4619bca83e21a3e0f2b8467740235e3ec448462eb96d2e2cbfb8ff2e9865cc83878f7157a970ed40e8e96414fb7b542c4f16b40206ec64704364e39d404013c929cea93280d0c47026e9cd17d42a2293e2c79b1e82c46d4dbab1743422a327b13e4df430367980fd4a80eb84fec3b84de027ee40016e1a8a65fcf84358d88cac80d44b88940fbedbeb87a5e65759c581c1380bbe46080065b8221e4d1441b758e2d19d324f9562d1240efdab2a1d85086e554d2ba8713a2d4d252c163106d05b1b1d40f875f97326dd44b20c16c734f2001e8e5a972283741e4e8cff3ae269590f07fa1bd0caa2faf2bca9e57f78001212b53da5fa56e14bdbeae91ecc48cdea4e9855544e2f397ae6c62bdcfd970934af68c4c8e0a672164c8b8d03ac9491fb01ec107eb893a711caea8f6ff7bd1c3936353e647590037945d6afabea2e370c9dfb4be0a6bc59b669bd5b524fcd59f88daa8993956743c6bbe2353292ee08364c2dd247e208d64429b4ea05762c7003067a57f6a510ddf28ea53e4b74756594fd73e6878e8a9efb502f9d420fbc055ae5d29dbf8a04eedc0d161c5d418ab0093c158a3860f2ce8c58fe5e20b7a15936e819f41578c4682b8c820c8144bc156a765b09c6e39d06ac9f468978a318b4728e6a2d4444d9ce9adce3461033b4cd3ce72cb40aa47a71f228bec64a74ec83f2cc0e54da8bb75fb2d22c2fe1eb22395de5d204b77a8ff6dee8b4a0e43141792fc45c34a51970016a9f4f123d30ed3f8ad9204cfdfcb7ab3dfa2fd38ae60512ac40589e7d408d3cfeb744696f4e97cffbdf88595bf863ba2e371ea413bd83e2bb08b7bb4205fc8624d2acd869655998a0114a53c7b53948367f02597556f02dcc7f935c8bb4113596fc29e2836a43aff89278d200679251c5dcf3b93ac6c8a1b5aab175ec73f2fae15f33ccdd8223852f298f051e8f4f7515c5db2ef088631d92d1d7340cfccd40893ecc3280c3de539884dc492a8ff9c1b2ab77060a45fc0af692659c0b34fe286ba99789e1502fc53446d9f2c15303b4ba2281ca9e69f9358f75f3eafb12a5e02a15460bdb8c2c4466c36a41a370ed8984c0d0d759fe702aa7b232fdac28b4bc440415cad1ea029c944c0455aa9f8c96deaf525b290565df3fa8687be31f7f2cc98b872e0e6d505e21b43b736e47e3882eba602ae8e84ea9e1b01c2e53b2d9af9519203c705c8a6e31545e0b09723f766debfd88d5016e8e4708d612336e284f94c10d050609e7ec2fb99011141f5b22ff808b98d940867ce62dd1dc47906b0b979c8c9fa368fed43fb0f6921ba9cda9639fbb861baadc1b12dab3229b86d31631f7fb0dc0df919a6ac0a31e1615d3116a3d29d1a9ac34e25a12dbd3ee3b6cec4f58eac27b80ab91076978ed2b95d3f9789b46da999e568aab07e4987dc642dfc2d03edf0b281a0271a4002b4bede13238287366c27de5632d7fb780b967d8191506cd521b1514dba003bcf8e1492e615c8b8d8d6eea9f742aff79499a836d2772c2f5638fddd2a1c76c5c721f5e9172548852d1a3faf1422a300815ff26a7965b5bea42150a21ac8fb3b5d4a8e2a9b89849b9056db2d5b9328e8803257973a916bcfd3ab9c240f9686855d40feb196549c39598ec0b1b942d87570d52a25b5ada44e9fbe77010825b6f862dd4aa4b9a43b5409f5c274bbaddf66b39971730f27b0f7824ec75437c2c5d2d7bd8d4ce099633507164b10d5e19fd1d2fd3274a6a0e931fac3cec5c2c75d2e4dc3b818c31c8431124894322603cb8de65611e8fb558ac68245cbc2385b43a0d0228cd3c57a49dfe2f686e46add449d80c28182d6a70055bf42aa1d07ee709c9e20fb3288bc58c0dd898181f0a6d06a0c72ddf729a0bf4146fde9eafd4bb04f23b9d9d382749f48c94cd88136217ba575885c43fbc879b932d5ed03f57059571ab86edaf2b572b3243408634c95fc1b161fc5d9fedbcad148bef704f6a0637e332a2b11052586918263f1ea280a1d0e339f38e17e3f1d0f1a4063c693d4868fbc654362a8a153b6fd2e3361af233779ddadfae5ae0b364f1b1fce7957c0e3b0275acd600", 0x2000, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000840)={0x90, 0x0, 0x0, {0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) 20:03:01 executing program 1: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000001c0)=ANY=[@ANYBLOB="1201000000000040260933334000000000010902240001000000000904000001030100000921000000012201000905810308"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f0000000380)={0x24, 0x0, 0x0, &(0x7f0000000300)={0x0, 0x22, 0x1, {[@local]}}, 0x0}, 0x0) syz_usb_ep_write(r0, 0x0, 0xd, &(0x7f0000000080)="9ae33c636253a123928639a106") syz_usb_control_io$hid(r0, 0x0, 0x0) 20:03:01 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000940)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a5050000000077d8f3b423cdac8d80000000000000002be16ad10a48b243ccc42606d25dfd73a015e0ca7fc2506a0f68a7d06d7535f7866907dc6751dfb265a0e3e0ae669e173a649c1cfd6587d452d64e7cc957d77578f4c35235138d5521f9453559c35da860e8efbc6f2b2a3e314422b854421eed73d5661cfeecf9c66c54c3b3ffe1b4ce25d7c983c044c03bf3a48dfe3e26e7a23129d6606fd28a69989d552af6d9a9df2c3af36e0360050011bbecc2f4a3799af2551ce935b0f327cb3f011a7d06602e2fd5234712596b696418f163d1a13ed38ae82f87925bfacba83101753f541cd027edd68149ee99eebc6f7d6dd4aed4af7588c8e1b44ccb19e810879b70a7000000d7900a820b63278f4e9a217b98ef7042ad2a92895614cd50cbe43a1ed25268816b00000000000009d27d753a30a147b24a48435bd8a568669596e9e0866bf5ea75c7c2e98082f06fa8cd78d0eeaae7e4755a27a1c972a0b6ebb90cdc7cb2c1667ead0fbb77754488c261982b5b92992308c443d1d513e12f28c2c0d9bdd129eb964818f49080bd353d1d1855d6e7ed055ebe81c40db7eb3b05297786be5f1a980a050d308b8689a903aab18df210264a73ce730ac2734d1bef89a98acda325f733972f6afdb60b40aedf59869b5a3cb00d8c77a265ca46ed70df1c061593e9655a672432f80b682565361065fc860399e7217be15772cecd525d8069f2fb00"/578], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) socketpair$tipc(0x1e, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff}) syz_io_uring_setup(0x19ff, &(0x7f00000004c0)={0x0, 0x9919, 0x0, 0x3, 0x366}, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f00000005c0), &(0x7f0000000600)) openat(0xffffffffffffffff, &(0x7f0000000140)='./file0\x00', 0x14080, 0x10) signalfd(r0, 0x0, 0x0) setsockopt$TIPC_SRC_DROPPABLE(r0, 0x10f, 0x80, &(0x7f00000000c0)=0x5, 0x4) sendmmsg(r0, &(0x7f0000005440)=[{{0x0, 0xfffffffffffffcfb, 0x0}}], 0xfb93a852dd518c, 0x0) 20:03:01 executing program 4: syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./bus\x00', 0x4045ff, 0x15, &(0x7f0000000bc0)=[{&(0x7f0000010000)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f600000001", 0x45}, {&(0x7f00000001c0)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000001000000000000020000000000000002000000000000000110102", 0x18b, 0x4000}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x41e0}, {&(0x7f00000102e0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000104c0)="000000000000000000000000000000000000000000000000000000000000020046494c45300003000000000000000000020000e538000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000e10004000000000021400001", 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)="0000000000000000000000000000000000000000000000000000000000000300462e4c45300003deffffffffffffff000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000020000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67e0}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc380}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x45000}, {&(0x7f000001b200)="10", 0x1, 0x46080}, {&(0x7f00000007c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x48000}, {&(0x7f000003c0c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3fe5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebdf0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000270000000000000000000000000000000000000000000002", 0x1f, 0x4045de}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) 20:03:01 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCCHGTUNNEL(r0, 0x89f3, &(0x7f0000000140)={'ip6gre0\x00', &(0x7f00000000c0)={'syztnl1\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @private2, @local}}) 20:03:01 executing program 4: r0 = syz_open_dev$vim2m(&(0x7f0000000040), 0x0, 0x2) ioctl$vim2m_VIDIOC_ENUM_FRAMESIZES(r0, 0xc02c564a, &(0x7f0000000080)) 20:03:01 executing program 5: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000940)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a5050000000077d8f3b423cdac8d80000000000000002be16ad10a48b243ccc42606d25dfd73a015e0ca7fc2506a0f68a7d06d7535f7866907dc6751dfb265a0e3e0ae669e173a649c1cfd6587d452d64e7cc957d77578f4c35235138d5521f9453559c35da860e8efbc6f2b2a3e314422b854421eed73d5661cfeecf9c66c54c3b3ffe1b4ce25d7c983c044c03bf3a48dfe3e26e7a23129d6606fd28a69989d552af6d9a9df2c3af36e0360050011bbecc2f4a3799af2551ce935b0f327cb3f011a7d06602e2fd5234712596b696418f163d1a13ed38ae82f87925bfacba83101753f541cd027edd68149ee99eebc6f7d6dd4aed4af7588c8e1b44ccb19e810879b70a7000000d7900a820b63278f4e9a217b98ef7042ad2a92895614cd50cbe43a1ed25268816b00000000000009d27d753a30a147b24a48435bd8a568669596e9e0866bf5ea75c7c2e98082f06fa8cd78d0eeaae7e4755a27a1c972a0b6ebb90cdc7cb2c1667ead0fbb77754488c261982b5b92992308c443d1d513e12f28c2c0d9bdd129eb964818f49080bd353d1d1855d6e7ed055ebe81c40db7eb3b05297786be5f1a980a050d308b8689a903aab18df210264a73ce730ac2734d1bef89a98acda325f733972f6afdb60b40aedf59869b5a3cb00d8c77a265ca46ed70df1c061593e9655a672432f80b682565361065fc860399e7217be15772cecd525d8069f2fb00"/578], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00'}, 0x10) socketpair$tipc(0x1e, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff}) write$6lowpan_enable(0xffffffffffffffff, &(0x7f0000000000)='0', 0xfffffd2c) openat(0xffffffffffffffff, 0x0, 0x0, 0x0) bpf$BPF_GET_BTF_INFO(0xf, 0x0, 0x0) signalfd(0xffffffffffffffff, 0x0, 0x0) bpf$PROG_LOAD(0x5, 0x0, 0x0) setsockopt$TIPC_SRC_DROPPABLE(r0, 0x10f, 0x80, &(0x7f00000000c0)=0x5, 0x4) sendmmsg(r0, &(0x7f0000005440)=[{{0x0, 0xfffffffffffffcfb, 0x0}}], 0xfb93a852dd518c, 0x0) 20:03:01 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) getsockopt$sock_int(r0, 0x1, 0x12, 0x0, &(0x7f0000001180)) 20:03:01 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000940)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a5050000000077d8f3b423cdac8d80000000000000002be16ad10a48b243ccc42606d25dfd73a015e0ca7fc2506a0f68a7d06d7535f7866907dc6751dfb265a0e3e0ae669e173a649c1cfd6587d452d64e7cc957d77578f4c35235138d5521f9453559c35da860e8efbc6f2b2a3e314422b854421eed73d5661cfeecf9c66c54c3b3ffe1b4ce25d7c983c044c03bf3a48dfe3e26e7a23129d6606fd28a69989d552af6d9a9df2c3af36e0360050011bbecc2f4a3799af2551ce935b0f327cb3f011a7d06602e2fd5234712596b696418f163d1a13ed38ae82f87925bfacba83101753f541cd027edd68149ee99eebc6f7d6dd4aed4af7588c8e1b44ccb19e810879b70a7000000d7900a820b63278f4e9a217b98ef7042ad2a92895614cd50cbe43a1ed25268816b00000000000009d27d753a30a147b24a48435bd8a568669596e9e0866bf5ea75c7c2e98082f06fa8cd78d0eeaae7e4755a27a1c972a0b6ebb90cdc7cb2c1667ead0fbb77754488c261982b5b92992308c443d1d513e12f28c2c0d9bdd129eb964818f49080bd353d1d1855d6e7ed055ebe81c40db7eb3b05297786be5f1a980a050d308b8689a903aab18df210264a73ce730ac2734d1bef89a98acda325f733972f6afdb60b40aedf59869b5a3cb00d8c77a265ca46ed70df1c061593e9655a672432f80b682565361065fc860399e7217be15772cecd525d8069f2fb00"/578], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) socketpair$tipc(0x1e, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff}) syz_io_uring_setup(0x19ff, &(0x7f00000004c0)={0x0, 0x9919, 0x0, 0x3, 0x366}, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f00000005c0), &(0x7f0000000600)) openat(0xffffffffffffffff, &(0x7f0000000140)='./file0\x00', 0x14080, 0x10) signalfd(r0, 0x0, 0x0) setsockopt$TIPC_SRC_DROPPABLE(r0, 0x10f, 0x80, &(0x7f00000000c0)=0x5, 0x4) sendmmsg(r0, &(0x7f0000005440)=[{{0x0, 0xfffffffffffffcfb, 0x0}}], 0xfb93a852dd518c, 0x0) 20:03:01 executing program 4: r0 = socket$l2tp6(0xa, 0x2, 0x73) connect(r0, &(0x7f0000000140)=@pptp={0x18, 0x2, {0x0, @dev}}, 0x80) [ 2425.100115][ T3722] usb 4-1: new high-speed USB device number 85 using dummy_hcd [ 2425.110238][T15194] usb 2-1: new high-speed USB device number 96 using dummy_hcd [ 2425.360045][ T3722] usb 4-1: Using ep0 maxpacket: 32 [ 2425.470030][T15194] usb 2-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 2425.481096][ T3722] usb 4-1: config 1 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 0 [ 2425.499970][T15194] usb 2-1: New USB device found, idVendor=0926, idProduct=3333, bcdDevice= 0.40 [ 2425.509000][T15194] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 2425.543357][T15194] usb 2-1: config 0 descriptor?? [ 2425.680046][ T3722] usb 4-1: New USB device found, idVendor=0525, idProduct=a4a8, bcdDevice= 0.40 [ 2425.689110][ T3722] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2425.709967][ T3722] usb 4-1: Product: syz [ 2425.714133][ T3722] usb 4-1: Manufacturer: syz [ 2425.718728][ T3722] usb 4-1: SerialNumber: syz [ 2426.020853][T15194] keytouch 0003:0926:3333.0036: fixing up Keytouch IEC report descriptor [ 2426.032030][T15194] input: HID 0926:3333 as /devices/platform/dummy_hcd.1/usb2/2-1/2-1:0.0/0003:0926:3333.0036/input/input55 [ 2426.124291][T15194] keytouch 0003:0926:3333.0036: input,hidraw0: USB HID v0.00 Keyboard [HID 0926:3333] on usb-dummy_hcd.1-1/input0 [ 2426.150290][T27593] usb 4-1: USB disconnect, device number 85 20:03:03 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r0, 0x8982, &(0x7f0000000100)={0x0, 'lo\x00'}) 20:03:03 executing program 5: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001340)='/sys/power/pm_test', 0x0, 0x0) read$FUSE(r0, &(0x7f0000001380)={0x2020}, 0x2020) 20:03:03 executing program 4: bpf$BPF_MAP_GET_FD_BY_ID(0xe, &(0x7f0000000000)={0xffffffffffffffff, 0x1000}, 0xc) bpf$MAP_CREATE(0x0, 0x0, 0x0) socket$inet_udplite(0x2, 0x2, 0x88) r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCOUTQ(0xffffffffffffffff, 0x5411, 0x0) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r0, 0x8910, &(0x7f0000000080)={'gre0\x00', 0x0}) r1 = openat$hwrng(0xffffffffffffff9c, 0x0, 0x648000, 0x0) r2 = syz_genetlink_get_family_id$gtp(&(0x7f0000000040), r1) openat$audio(0xffffffffffffff9c, &(0x7f0000000200), 0x800, 0x0) r3 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$GTP_CMD_DELPDP(r3, &(0x7f0000000340)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f0000000300)={&(0x7f0000000740)=ANY=[@ANYBLOB='\\\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="010029bd7000fcdbdf2501000000060006000200000008000400ac14142f08000900040000000600060000000000060006000400000008000100a9c09b998cce06ae8161472a16683fc6dc7a5e0ab5fb25c659ed125fa320250705a99ecb3d50fed7df67e10ae259f2dbb30f81b66e32da30b70d4d7ef06189989c193920e53646be6c00612d61fd8fef3824ec38d24fa5a5e56c3e8f857af04a5253bcc2f8a11ca0eb5a5f58c258ed", @ANYRES32=0x0, @ANYBLOB], 0x5c}}, 0x0) [ 2426.518393][T19414] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2426.523940][T19417] 8021q: VLANs not supported on lo [ 2426.642500][ T3464] usb 2-1: USB disconnect, device number 96 20:03:03 executing program 1: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000001c0)=ANY=[@ANYBLOB="1201000000000040260933334000000000010902240001000000000904000001030100000921000000012201000905810308"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f0000000380)={0x24, 0x0, 0x0, &(0x7f0000000300)={0x0, 0x22, 0x1, {[@local]}}, 0x0}, 0x0) syz_usb_ep_write(r0, 0x0, 0xd, &(0x7f0000000080)="9ae33c636253a123928639a106") syz_usb_control_io$hid(r0, 0x0, 0x0) 20:03:03 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_CMD_GET_NODES(r0, 0x0, 0x0) syz_genetlink_get_family_id$tipc(&(0x7f0000001640), 0xffffffffffffffff) 20:03:03 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b89936747d13d75c681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f0000000100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000080)='./file0/file1/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000008840)="7b903d4763079f496736ebdccf95aca07a5af9eb6976364b5b3d3bd8c42b6392f3d244d6fcc4063cfd72e2f12adf73b6ab0300eb123636938e23aeb432e4cffedd9bfc12f33f42234c832345d62a7594616c97e968c82088586fc6e9ecfd9bbbc37b3d4cdb914a25e605681aeabf797dc3597859e5b494c09d70c8949f8fe545c173c632466cfd4223ee4be29e3bfbc6f5962ea3b1044071d4f46c1c30f903193c4a1d74e9e091f49a3ca1f5289c5692930da06af35c334680a3034ca907881e4f2f680a93935c6a31dca2c8af12526e71f556cbd6e8e93c4f4f686ecb4a5b1a1a9f9c1dd993d912dbec33f1cf859b5b74550a1de236a49726b86da6a006d13be5af26b1576c5bb9b21f8f6d4a16bfbd0aa256f43594c59d39a9e7335abdaec4dbfba27811ccbb934aa113c901b9af55177e8d2e4444ee3fea5def8a787b34ca5c42e4b087358ce8d41f80a82092676c776fbdc86d63f8740395dbe0ecc2684eccb5a020e6501f2dd64a640979e8f6b0962206b6c47bfb132bc3d9a827c8f2edb4318cb15e310a3de97b7c410e81ad1fc15dfd263de4f84dedf25e4e200d782f4b23ee3beb5c8a1a57f6ffd298d82223d0b9820da41f22381890ac457a00693d564165b5659d880055b10d2a473305a4ee7e3d3953204e1b91be5fa44628e381eada216d007b69c85c832483f241938c05ed22922d4bc68c190ff497379e36fe69b3efca66dfcdf5479b0978b0400f2663b8d3092d8331210dacc30747af4db2f3f3d82ca1db2921a9dcb2c7fc1280bd4360add4663f25826551a74f22380cbcca0df1ce00728453a4d74f95f3aaf862c366b6e6ce8e031150219c72966d82e2fdb5b720cf0dac60aaee72aa769862e3a9c6a10a961d9b7a6b11222835dc7ae982dbf9037acab7f9860db503879a7e9df1b41c9fe794c498609830ae26dd808abbbd70f1667f0744d11137347896a2d99ce20d56040be4e28a1edfecd03494e59e0e065e9fee44083e81ab9605f47d2c97cf9a4b69fa5d26711e45adba2d79c717b5b183a550637109dca0fddf42efd817187dd27241ed3dbcc8a0547df55ad0d623620c72bf3f60c8bb051c348e30c90c0a1de3269a254e994ae7b27f385f5f56cbc2669d89ed62feaf7573199a1dbea749bfaf158a187971114a7d11582d9b5ddf7d86673f51006e994277d4be948011d42bd405a509aa0c117def9cc4e5de12e9180d532a48b631df8fe689562a8c8453a9ecb494aae5099222cd68255d3ede4c3fb3d752b1e61c7edb24e2e43292670f093d476909a25676972d7fbc65dbe0d565a4d4737d98b7e14051418d49f8f97885de545ff30ad9adf123f6e1e46e8f3d02f3a62439bb2dee2859d4c6e42b08a5c4cad99a0270cc1729d25ff7e1325d2380f87c733746a2ed5f532e674c3a2415dbee679d9e5163672bc10b57723afc0654682ffc5c4533bc9b392d9f192b895930062c94f858f17501801d9dcc870b72bf8380af9a7b00a6752ee685dc4ede93051687eba57f215d53bc9cfc1b0798c9b7c02b7e5374fd95953cbea4e432898072aad22dcb6a1062307a150bbdfd33019e91b4d29a5046158a2d30aceb4996e5f34591844b5562f5e6d696d7081e805d804ac8deb653c1bc591fdfe9e2a09e8b20a5f2fcd41638c3cefd5ceea0fc9f59de09b0cbbdae7aa60b8bd8781e284297bb3433d885cdba5353d7bec37047aeb19955eb00c09ef94b5868bb59c48d3531479910429fa4cc4f175d364faf660601a93f949193887d811bb16ddd95d2e67ac3688d400b97ded39c8531aff108f89406426d6fe170629b9ca357ad310e1d095c597413dfe76413a86b6dc185b83990b7cff5709d36da9c0b06749bca6356a6bd287dddd60c9945532f5b5f4cf4038f17aa67ea5cae5bc15b32ff8bd53320169b2a0119bb0f3d9de912321975bb55eb8de56a128e9425167f650946d5c90851e4c52bda21339b2dc80a66900b4114594b90cf7fe74a04d8690071b396af673f0d95d5e05727650b3a6a770c8440801c1287e544fd43af7b3aa3bcf06fb2d1ca2ee3aeba76c9c0f796a750be5631125ba50e5e7b8eb7ac493add2de950f59a579d4dea95e5c9301b18c08d1998a2da74e41eecc129bb23a873f94268e217760f3ff0a99e34eaff15af9a6ed2b976a74b1f97db0ad9c3781f24dd137aa7eb807d725ba1617abb1d54be93843c1cc14b20fc037dadcf0cd58c6c7d3151ec8d5efe5a916af7e1694e036e6afe55cd2887d79f399cb42478f9f9998297a89a710adf7e7f48063cc0168782668a71c6d139747ecb265e5eefcbd8d617b24c45fe1586f2b97a626b7f0926969d02d6cde13bc7d46475c65522da105cae8f43dee9d51a6fd37c74fe08a7589405fc8cbb2f781fff3913285454bcfa48f90f5c3f0dc0f2c6e4b5b1af0da6e0f550ae79eea3b4705ce2b5490bbcdf4b25c7533b08ec1605a13693aad0f1ac9220d0b43507d1521ba2652ca0e9a7868a3af8a970b9372efa1ad71bc0d8617ff1a5d0e8e36581715419efbb664dae910ba188128dfbfb0d6380527061d79317ccf6e2a183c1559c19d35d5b6100730776bc7aed48ca52f292b90d461c529b5cede9a2cce0b8f28f073eef23fd805fea69b5db489428b3a34b3f2c79a84c034b957fca3289b092051021ecee2a769e5bb22ada14bb7fe3da96cdf3de0545c302744343d838047e8fcc56e72a1799451b152d0a38cd392487f8f052424bd2ef672e40b80edc37e279ecc5d6bdd9235aca028b9391d2c0db4514490152cf3892f2a60d7a12841895f84dd731f74345d5242646ff968442f6f4983588bcd77ca6eaa7558b575f7c1c45629670b57af4d5c9159291844be56f1160b1784584c84eb2c0f5b2052db039534082ff1b180488dcb99461c05796364c9f37c8a932300ea627b3f14669be0d56b272decdfe1883dd51aa23ccf2785cad3967bdf3412b308f20364a9485eba4c6d7b1a5ce6fd87544d0e72c0baef82e02cef7e78e57e88074990423ae010ad0ffc2e21b36536cc5226f739245d9743110786cc34d68e694f21a46af16317ccb03d7994ba1ad121b4f6ff17595c5c6627de95ec0df0b80e7498a7f2b6005f5c1fb26328c0666c3cbe801b1d761a94d41c1f76b0ddcfa9939e14d69150457a4f950c4df7060b1be046ac8bdc0c657832d1beb07529362c34ffcbac348d563657ebdc9fdab4e11f956b74656e5ce36495237b53513e5b4839b2e5d1a8f1e3f7a5e8f1199c4a19ad88449fab9040e443b712c1a2537b0ca26aa69d20943dbaefa4aa7a981ed11b4ee0f59ccef072c4f55d413f7e905889eefc516fd215e59d4c3cb78509f945ddce8b2bac919e0ba4dbd1a9ee0aecc66a7d15766e9a0cf0f703069831cbeb34edb06798b162117b0a9fd18337f14537d0ee7839119521416072f114be3d6c8254ddced0aaf9533f7e0836f5ebde4df68f3496e083912be564eb85569bcd981be606a6b51fe66c8bf88b9980c3b52ab35536a0e6167cce361113c5352e3e35a385398f5ec0c277dd1843a7e8f1eb7be76a574c178ae0c96f8cbd613fa72d331692ca7df6429c5fb150f88ed77ad1b3ff621016185f7fe64c10618c23efc8cf3ec090e4d9db9f1ab62de1bbf72d813eb94d92dcb2b5775cc8927d934bf034b1c7bf69f4ad0afd19fc81ea4efe2dd323ec58d5bd9b6ae584666a96c9b37aa689f7f7d73b9daa98ea5a93f43d52b29c9e518252a9b72af7c1e0e6b87105b20e0cae46a2fae11fb4b6027a5a77d09bbe468e57fe9ada13e0768806fb753caa55ee2519592c4d43b3d1e078e64dd4bb2a1c909517e6b0e41f929b9e3844a460f62b34f40698d3eef651d6d4e7dbb2461a367d9a6e0df04552215c9ca59b95aef5689ffa1188d7ed4fa12bcd5434ccbbea730c21ee88a1033bb3eaf4d4f3e56296a596c88c1c3306923a25bbe2d54fc5832b23dea14f069e45526010bd08313a93a22a6baede96336cf5f0e0f48dab9aa0a69ed8643f09b06cff60306d76c835249739c52de9894e8173c240d55f51fc656df7f3e469c0493f8a7032e9d62b9e0888050bfe4121f0c94267daffca3516cbd4e530218a217f539ace5239dd2e6c5ee6a80f1aa73962cb48b6249ddb32a805891950a1598801b3e270f22ef4f278ba9f51dd48f4379904534b7d644cb4bb3abe780415aa9c1f69a97f2ca5adc2dea47fea5f20338352721b47777fd232bf5dcc95a2098cf77debf758d9eb800d7e314f243e0206bf5266cd3bec6e28c396f42d397e625a9a6d0e91019ece68e30a187cc7e9f0cf33aa567b31e33bcaefb3b08d24cb6f6cafc422879f014149710d6daf012a75565efd0ac15afbaa3ddbf66556f7510c94e512f1930714a639bbe9c0442bd857c30fcc284a07a3e85678b3b11bf1911135646a07f1008fb204f67f2f8bf0c261eaac5ca8f0db68b1b140fd51f7fa25120690a1e71552d96723a9fdd5faa586250b65b08a19c8b01e310abf9b18244adbcd6cb0cf83eb23c7d9cb7769dd3873555e64752bb0745b412d22c59c96e8378ad46f1d1d7acde23717b76b4522b64f4fb3553509c44d636a08505f7cf5f24d08e75e8b1452f20fe8758430bbfc03489cea9cbc33fe71a351cc1bbbb4bfa722d8dc2a9fd8fec42761aac32975194692aaaf9e5e3eff09e7dc93141d16b901dfd0b1a3533cf2096a27d03bd5eee5713b64435ba625f95c86dcf39f8b43eb497f2875abb11e576df0873fecc16ef55118e9d47234b41d606b4972e5a65cdc760a5108c63b70034edca7cdb90f5947d47dad444c06a43dacf354f1da89aa535aa2017888f1bf09019860f2ebe4af8c6398f3b83a0da7d806576712be4a9464d309b52ebbd2afea4a2636d6662f46d4dd5224550bfe2491d4b07329d630d551c12cdd15a793ff9be35e216ccb2b4da192d688bcd5385f8545bdac7c3e73303a62d7d96122a8cfc81687308864bf3615050cf4424a29c3ca879fdb1b2d99c9c55cb4a224fc40aea4f090a84434d65b169cf01700653ef3247c386426660dd7ed1d6c4d36cf0807ae1bbf85af71c88d010832035414156e8469794c5a9f899284978ab86bc1479d7ed34806ea61c0da78194b75e7d8127e4a43dc294ad6e0fe9873b363844180c5b5bc2ed43c8d0e1324c666d994a32ca6b1f67aa78781699c7e1333ea4d186e8e333eee3cc60f3838ab7dcff8606583c309f4abd63cf9514ba6ed702de8cb3b90befcac8112fc8e9ec04d2accb4eae42ca78e227caf8a174b3865fe8788cf13ef251186c579a905bcc614331789724084db04a50f726a1d2347c6a4ed296ebc4db25ebce1566a047dd5b087e33f11acc2887824b84b480fc76a5fd0da60f319bdbefe4f69a68297670248a21306aa27f1130031cddb19d16d335e17d4762d82a9b116a3502b81ab308e3c5d1f926bc8cc451175b7e60eeece7f5e112961ef2878608441fed09b4b85a5cd34755517f5460f22350422a62670819ae2179077b1014271b576fc744bfa353b1e6301d2707fdfad98c1e84993c724f497287ce7e01eb02c1e5ad36d705f1db9778745e34e67eaba1be1cc514313721aa645a41173eb210a7bebc30e58469cbfc744a02d8f58f11a462f76b9596b04daae3392f06af76b8435f035bed35f1fb61332d39f63419c1866789ff34359077825ab908b2149967365a7fb57199986d0ca6d272706945419b5cfafa10e7950ef65a69f11c1870cbeaf0b2e6a8ed4a4bc8435d65f17ab826f61794fd757e9383f15b7ba9aa9c3e46121ae89066772f019d6d4b9ae8d07ff7ec32f8eaeb1d5936605ce324b3b90e2dc420e1ca53503c38c5253639bb2f2fff06f6d2c6a6510d26a7f5961a5b6aa36afda7948f8f14d0d71a1f28ccf7ad57d7ae5dbecfa4c39179178452209da2e8b8f333833b0d6a4df5707fb3c92566478296878ea6d0ff4e69861d3488d80bd4b32c0f6538d2bbb3cbd908e1db68fce2efd23c6b2a3fcf0ca40234b8620e345051ffe72ac84cc7e317ba432e6bf971cedd63bcd81af4b51625390605b422d96808a553c77d82beec6d7608601244e2b4e3249a2a14c92b086f70ea32852b7c581009ad8bc3e3fcec68bbc2a91733e79153f3b5e8535a5c74a93441cf4fa3e4cbd1924db1245942e0d6b46af39fb2f84c8997094189629af49a4f6f03365fc3f66ac501989932c97962b4944efdf0dc41917848d562c6caf63a466b3468d4961e14f6a05efb3d16769847d760399a6d9aa787da5831a56249b255628100f792bfc20cb015d883ada6574b11ab0fad62f3001372937227f55f2e07079ea650ab6f8ca28491435e2b5c22b0dc6eb4dc39fef7036e39c8a0dad562ec52105cec7d24fd474103b0eae322be8b3351e06a0c2f29de1e6cc304be172d894112ad6ce47390c210f3af1fe590ae9dad65399aa0850ac6c119dcaeb9e097d1d1497851f6f25ba2e0cb0f9933f704e4bbec0b7aba8efc7201182159944a964bf4f1afc7a99fd5b3f610d6894c57d6dd617ac584bca652391b4de559e9b962316e72a5b44b5f83e416bfb223fb08004021e174a0a40592c6bffba981c7d86fbc1e856a1661a72c812a2f7d501015be7da4d126e28dbd142b8a9ed479d19967f4c2810ad6d8b4acc26f6abea8d563e620a0fd69d07689abf4059b01f6dde406b32e355ec8bb8fb821f53ce7c3632e25533e4059d57fab7583744a37946c51031747f6ca1e80a4fc9f97fec8dc71b2f081141f070a4455d25b0511a8737b5d3a43de54ef8352c4235d6259792e51b487ac3d0a3713b4670a1751b7c3af6e4f17cbd2363d456e54b1192bfaeb986285b9a0b3adb27534e6c4980e0b0bdea5d7fa389d1efb40cb0c8de49cc965e93dab04d97a5feb21958703918b10058ca07291dce2159c9fecc44ca60099cfa44657306a9280b687682f841e0e2a88de2b6b78eb73a70cf0f8b40e3f5282dfa66d2f94326536b851a7b59ae16a7e8ad9c5ba4aff4cf3740bae5e4f62ddaff71759a74ed2e762330223624bb603f9cd599d70b35623d75c2dc6e14eac8d9ecdcb6f3f999b012c263a0a4c0701f65803b1b99e749088a614f0f493a115e26f884d0a0498da78819137b8272bd6f8c9a42b262408520314169ac907628370de94561ad3a84ceeed01517753d895f1d4816e8e7fbc8e4be35ae28241098ea99416ee0c9000f43a8612774366572053f49bc66dc4710cb01099309a312d069bbef5ee0164632d8a7e88086ff4eaab5060ce23006a3546eb27cccf94254a14853b30eb1c4e0f3f411bb03d24f78b0dbfdd478984dd2902b40bd2ad7ac4d264ea1dc3bbd5304f34d87f21c77ff526105874dc73f0037b882315fd62f17c6891f24107d7319b97ab7a117731b200976bafc208e1d1bbd9bc448c167f62a6466275b61dc8619eb0d4379877013259a80ea8361f94a3dffcb7206c4288e136ce323074a813c7771b1861af89a2ad09bf2cb3b6e959e772f85b5c825769ec65e99a41b671798f0d44a94f6de58d2375fb671e71d4713a2187d6824cb6bde02f75ced2d897e59cb3d3facea4b9da8df8c47ed9e028824010a847ea05a4931b3f05ef1e1cd10d795d46862cb81bdd856c8d33174432714c3ca741817901dacd93524d05c98e1fd888177351223b81379f3d9bcb49eb9f3b3419e2757f601e91d611b708aa75a90e3e7eddaf668006933f5ce06ff5fc6993cf68ed52d4bfedd40cd9c3d9bd5d1a1ff4ddf5e80e3692e9f40ef4a2f8cda749c27779c116b164f6fea698047f664f3802266b3dfb137fafe6c5548cfe944934d989247b448970b64198fb9087dd8dc4371162eed8bee93d7c1838b0bb4e6dcd1177670bd6bb3700fd6b9cdbabce42013645dfbd8f857acb371bed930f0f0fea42636880ac9aac6f72218905ec3d44b1d3bc8802a886c00ae8306b26d58a518310445ca1e395ad6e2f0da6ed612e3386d9eb20c97b3c5dba4616fdb8c248f73182b0499b4352e5e5e7f0fd11ac9b4c44f488952e83cb782ea528432186381c9f94166256ac05bec3412de62fe138f72f3b28546888f6a484e9f664aba471e36e804b2eed48961a37c145f89e65e4fdcdf6fdf36bdadc2fe2bfb82a23a7e15d85553bc91cb5decbb83308942fd2e4e9f55902b9957153d55b820c65754c09eb2d6204da760fa98d43814baf7150b96a79830e62a39d0c0865dd51f06f6dfbcd913fc03577eb3aaf66a60d0b79b8927f0964bdf17983086e3898681b5fe48ca0fedaf28a6bd40fe821119991a3b1d871ad9a169b01f8adcd051780cac02580e123ad8bdcf4453168f6d81b61e0cfe952c89e29a60c2b8542b62d5bc15dd6bb16a67f3447a320e529c3a3e158b42a3cd704762b00b680d1755ae04e0f6fe51ed56dcbcb0be2e440aca7a374fb1cb96bd5d0738fe5070f8693b687bf06c758637807d88313590c1b11e48ad815817cb1eb41b40777e708261c87c5f45d3dd1d6303a75377e6d6cb5a9c2340cbdf4b1c7b9e59cc88cec5736156af5cfd4dd1a711f1e0f3b7838f690e5ac6d391510ebf61829ab3fb340f7153ccca061bba56dba4d3ae2716037628ae0153fa02baecc871bc26e34a943ae7e24a4759aaf034760db4281de7f072ae8ff6cdf306d9bc633c4a2254530857f53becfe665268f38fa0c4b37be92e08a68640f9e1311529db34419340f79b5b32f6ee40f11cc1c2e3db7644006357dc863863f22ca366c2c19bc4ceb5ef2d7289ab160de917567c439261968dfabac512c40e87b6a54fbac29cfa92954ceb369a54b94d80f9bd1a60aeee614cf31c99cbdf5c2c42eac68f58cea51f2f84c8f966ad658fb8791d8c974e36df1fda2ba39ed0b0378c20509d81d1b24c30b660238e5e34fea782e432cce664efcff1f38f115fa5798dbfeb51512a15a4664a3012f9a15cea3d1e5b982ce659974da2cfcd7124dfe12990021896b874437d5dc3a13916d9fcd69c3d38f2a0c71fd37515e22793657ad09ca82e7305634443a73f15b0044817945a6baa5b16027a7ffbc3f2e0c97401a96d77648a3739059996230ec93ce41608f827e4d6b4484d9698765f0629614f21a8b84afae461c21317fb885369b1ea83d2a1af9cc18973f75c9c6e611bcc3fa6f34264035e7c13004e0a35a1e315868452b7a7c8d4d7d34064913e5d19c23af39ef6bbaf8d38c0fbadc5c4fdf73221e868b83230c326985399c6c74bf2d7a39533bbb14a1795998f2b4228baf47ec528832eb28ae8be7efceed4b42e58d87c3e694e7af029ed9dde2072fbf85cc81169fa257198e197ade59bdaf1c407e9fa7b953616a6d1019a0ecc13523f49a12f26fd6d1f7b9a5fd7cb64349efbd53a1ac8b5e749b490fa9398a24a99538e42b2681e7e5f4074e6570bc72698241adb1ba8e5592b1bddb0b665b40b3556bd938a2d63b443196dd5501b9d1c4bbcda80de18c3d4e06692db3b882ad35e314070bafa11ed2e48af0c7faa139aaa084a27b4f16d8f04ebe6f3ddc6ffb491aa5e0a32820fe6d204c801e80c3e46a0cbe2dcf6b7a97c82ec1a7828caebcfc4253b6ab357b561ea8725d14924437a4bfd51f95ed55f2b89de0591dc87810c50726200b0bafbbfff53bbbe138449f054ecc97c357a783df15f857b43cbd8257f08d7965975fb73af29de9b2a90faba4ecb44890b0c30798e304df0c722ae8541af399792738911dd54dda011742a6fa222ff712d5f879afef13de6908e2b87c2ed30d3e19dacf8b4201980ca959c315be8f8f7c072537fcf7956195ca13bea104981050839f47d860165750e6925818c5a369ecd1a2f7c4b0b9da152bddf3e556286c7677a460cd7813da2beb0ae1d0af1a6cb515792306033bbf35026d9295aae5051bc0f5d17ea1aee5163c99af2a55b1e5fb390097471093dcd9b8e2f3d1feda008e5eedf9e534724580eb1313ac5fd868a8c6c10005ccef8e7e4612fdbdda5bf3c8d3176feb84b5779893923ef7d6c4e91a7b40d5fb34dcfcebe619e7f924802500098222006c62758cbb85d167298cb1299f87ca7233c62af86d856bfa8460d766163c472ba5156e65450f975d13476dd3cd62f4a6be4fa773f4cb6432aa6a1c4a9a07e4a25d7aface37f62dfb61bc5bd125aec27e8de0db76eeb088839b8b10a51ba97c518a110f40ee87c3dae28237b709d601b245712ff73ca7c77b0c5fb55c5ba874ef7e56b656cb6e26e3a2a9ca1901d518fb1788bc14b60fb3760893459337fc5f170d52a12ff275d715d75896c0a91687823b7dba4b717d4c05952fea87d27544c8deeee9de9289a7ae9ea6e7e11b9c3cff4f6125fe039949f7c167e4174ae493e590bdb7882080bc9e427cd642deac07beaaf3f354078edb589cb767123a7aadf548b4fb7daeca83f4b8514f907aa14b50c114e4023a778214badf38e7a5f5a573e490dbbc3da5292bd0a3f5c5bb09f4e40bfe3336dd56d49f83335378828961eae17931e0b793d1b3ff422d73f21ee6f99ab42f368bb94d1d89da21f230dce9b51b769385859a557537e31bc169234260566a1d826ad7dcddce7cfc5ff09bf3d7ff2073473ae3a2eaab04728b55d55863025cbfbe3884ea55b7b0e8e4f3d1605bfdaf95656d79257205970f4db96ef957ad6ee76b43b017dbade7a81960f1eee89892cda0dec99512a8ff1bbc2ac93af581b90315bb866efdd70b1d5f857b69b512298d1108e469f8122d1cfa916dea972050f3baf6b315678347989638b02aa96d8f0a30edb7b8310a82b2a012d2c2be89258eb360a29b81ceb8e0ae7e73867fc20794d0164e23e1ed2288fea8a6fb7263720f21ce3b630387c46bc8dc2bf5789a8296c7c81c4daa636d4dcfb8578596c7de6517f99f8df533244237f6141e535c1041eabc5d2076aa3b04c179fb4f1d7c456f010af195d9d50f4a32fdb04ee776c4cf62910235ef243b4fcac1e541b226a79367129f164d54c84f0c923977b5ddfd2af6b5667f4c1112810d92b54fee3cd8258416f6fcc0fd163d2bf636c08468bdafd6f3068bfa5ee59fb2ef61a33459c88a0a48a645a2725d5c77659eb9b84b380fcf84e26a11a6a1241f359e76803ece3d4320bc5a728b58c153f7f085f7e9c17fe52fcdc8edbf1a0842adc032652727da7bad3abc4e60f40a8415579ba1ac7303203c07503a28b69afb4abb73d5e1e806986a5f46e549d13ad2e33c8b8b301afb30a18bdaa5805d074a74e4e99f6c8dd69e55a474e961ca7f8849664dcd4bc25b13e27d93464683b5bdd84164e06741127b623e71db56e322aab71f6e34ad5702ada7331c657ccbd4063bf1955ae5aafaadb865a1b92377b4d15323d0222c57874bfae352158f823b412b7933126a0d34b6af028409263304b1ea7b6b6b65cf5dab1e6b6c34a418d7a74e399616ee864019aecfe459765b44904de338a354cc0fc4edea90f1a6e4e9b14dbd02bc150bf648536f3821c18f8517f096fa7330d334abbd452e5f0a9ba57ac2f0473366d12cc39646a875d4683368339ba8cbf8f4c8b945434c644d7cb1344e4f4c1d5aaf89bfa7aa04284545152076b47185ff6ef90f7cd458581265cccb3fcdd3acdb23", 0x2000, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000bc0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) mount(0x0, &(0x7f0000000340)='./file0/file1/../file0/file0/file0\x00', 0x0, 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="f20c99596c85889b9030c36ff09ef4e543f045b889ec3a9b8f9b6db07fb42d7c9d77e9195a3346da6120e1edb0a23414147000f0e2d8ccd71216d8cd789a9b711539a93b32ccb547a26489749cd038d5c1aa44214df6d33cdbcbdb2cf8f324762a3cf8a27b87d14732e8d238f96007adf8c3deab9fc5e75c13ad467e04b76feccaa71fe87ba2528838336731153ad92ca8feac48f8a32db9ffdc06616f47995e97779e9a21f2122df5e28d9dc2ed4042c81af9a6ac81428cd94f7c0143eae5428e7b6757bb92d59cdb2123c3141b2ad6fbc2fccf837e429f0fc03a8351bdf6bb9dc6640456c47942ab7085ca5b6af062470de60c59a6ac6348b839d3006f72064b478239efae9dc5b6693a17857fe73c1a6b4639857431e40954576aaafc18c1ea3784e8a4f91cfea4f431c9db564352f2d8bd13d536e9f2f10e5a8a94e259357387bde9440ca93cd999f8989a2133ab4837bab3e820c13eb94c91279d2c29838395b517c36be671264c905c28c05fabd71c8d80464f600f0e62f3b50d73d1776a2fb9e3cd4eb119fee0ce0c969c5333f27042e507aa2438c80d7ce54fa5baf3c3676e66d589cf03ed1f5eb778869ff331c14d770e4760f32972233d87053419a0f0c977a1d0c4d9ae8de6a8a8adb288ee1f935c68e74ee05a15266e4ff936b48ca8da0f4f29e71320bcc01b70f9a19954484f37e9d7bf23eb5feac99b709817b1b7894b9897c88575703c21aa55b361f8137687b2348a69aad1bb5d76d9f8b011ca9b795b6db2b4b1bde9acb5512adc4de503473457fe4b503a95c4fb129dd707fe0cf371e34d0416a3eb7d3deb93d9747e55bf3c957f1f0e0b5d9e78bcef25b7e290263870bc526f7dbc81c691126d73c84d3f04fd06750d94fd1010563cfd23c036e7b48d2ac230ef4fa3584288e5e86b1f9bbb9926c32fd7ae47a7320e696c9bac75b1bcf1c79c528118b6887a7b9d0789bc5ca8c6abcec94c57ab9cfdc9302a64c8fedf8e93dbfcab1c9e8fb22ddd7f9c693c882cd886f40beb5f189a7c2f0d080fffbb6f8614c2463ca82925deb338f0d3b27ce3e6ef261e2f630a583810f2e3702afc05b50678fcacb6dcb36032aa5d36cddb24a1d5f271800c8f9741dd5f6a311a87d1658acd94cf78a1aff3730d9a1ef89d0dc175eb403b69ac0dc8a2b1e9590bae99aabcd504f02eec75e4e5ed0a65991e4696bd4f77ebedb0f1de20f6b7456eda5a36894923e21e60f80a91fd1c169a6a55c5a6c7e8677edf53fca4f8b1f23820fcab6a3f5ed96754a82fd6e0d40c1e9d801bd08a7ae486b277fb6ca55464a764d5ff5d276f4868dadd57a0274f949673fbab132d791e45df0bfe10531f4c28421aedf75e2574170b48d4e6bdabaa185fef9cf5cfb2b8906f061c5c966269b8eda22bb95500a288b34b8ded72f210b923f3389490a896e1631ce945219ec65d817fd0064ede96b603fe8af95d6af2b78af02e2829b683b1ebf55451fb21fe0691b5d22fbc9a1a2dbe17856171bcd31868682b7ab03ce4c9ae553b9c4e1ce948dfb12d7d3507b1350a466111f1e9d330cbd28509a69fa061c703269b6e39a3fd61a3bb06f9712141a012e9f1977d6a79f843050744a699bb171109d52c7677844d1e068390739db8a9bba0e1a740e549376c4ce5ff0359ec042baf2de2d345ef6ba296bfbc08b7cf198beb7ac26590f92784e40bbbc6e80557009539314d880452c56a28d0af3fb0574c7fc75e92234a2fb82782f56f35ca54096b941da55f384221208c44730bfb1855ef877c321d02deb1d202679ca8d4961cb82999e7a4cdaaea908a16a85e1e5cdeb9f0cedefb6e232c4e9952a58933b3cd2eb55d2668d1461dcc2bd34654126319d3d3ed655e87336a3bc73ba7fa32c73a47936980bb8e88ef7ceec1ece50dee8d09738d21cf662cc5a1549c656bbc8e425654f56213cf3581d8fd0652567c152835d1f9a4067e210379ad777a7db1d9e2f0495cc998f24a5ecdd39c141e3a6a0a84166f4b6e15910e93f2c3ccdc4ac5715d52cb014b94e3e12822eaf0314561e8119d38486d6335015fe636a7f568c0f7ace23207d36a545d0d2d2e9de548fd6291935647e8f259186c3110372e1e0453f1787850cb4447da2366e0cfd6897383df4c692ac3fdb85ef2ab0628f9bd7314c294dbe0da82d8de0efa72b00482b2eebcdf782d7d18c855febd0435ee3d2a5aef0c101b063e891124adbfc7bd947c87b3ec60083fc7c1e3139bdd8cd6c41980766936561d4b295f2491c8dd30ad7e5427b9867a3ade82c0840c9658ce4829d7d22a12537f50e5fcccef32331b6eba183cb4bee71a9ec064a902b48a044272697931f3f8ab9833f432354891a73cc95f4361052fe2005a76d97e0f80decd90a6a7d23358944ec7bf8cc9fa7501e79127834f3c9e32176668ebcec28a51f949878480d7db46ce07f108595858e9967aaae943609c81ccad596452d4c759fc5a0637be0acecb3511609bfca4aeefd7d9a53598b85e9902b094c022693abbdab522b1c21fae192f9f4f1daeb4bef812495f8e85fa6cda0107bde9c9c05bb55c824827ed2d0132d0dd327ece6d43e5458aaa214e9f336635f7b0931a1cf492119de81cd191bf4082e8e26f570ee887ee1a0808f39b5459fbfcfb628c2e70b2c7c9367ec1a12b47e4c9124b9ab5f4762a27e3c8a1090ec2a27d33961f94bc66cf3be9ce9adb26b960bb8c8f7c48099d685b453d6796517fdf036fbb6edd42c46f7710f2ade2c0be6af0d6659a6bf48dcc5a991a34f402bec0146814282e65328f2ae87b78b1506e68983f65f121180767217f587d25dd5a68d2809f7fd3d609c2786af4460cf88ecc2a7a2c0067f202c407df1da60a79e35d44a5525fc881f9b54937f7009a04f27ce4d8b7aa139b7f1cc3c7c0e90a8d114f30ff365355a926b80af641c08dced62f5f14ea1767a6a4b3bf14db7e3515f48be849638e059c62ea997b229a9e6a77ad0f1a1773e9f27e05957d3485fb55bcf9e0da8d768007a6fa02dd9de4d475d631d90bf6d43c33f265b58615f6ef1f430f3ac8d04fd0a332a18516f0d8bd0f4c4bb4a2e055e65250e356efd52ea21aee7b44ce276d081eceb6e9d2af73beb39ca93e2701844c0def42c49fca79271c9f402b74e3fbf2393cb7a42dc42c877353a4bde057465c4ad3eda8679c3960cbee2fcd41411a7b265b7ad19ab14b76d0768e5c05b5e7117b12d222bbcbf976eff9e84303f93c8145c0936aaeb150ff9ec7aa1cd06f4cd5ca698addcd86349fcd1b59e5d0a779356594c9a3484797c4515b194038588eab3e40a063f43aa15c0f9a8388c467bedfc1a3febaf6d2e54c014b05ec8446083cf5733c8fcf14daf8386d2841d03d80ada5cd3328463f543415845c48fd894134781aef5991639850af77ddeec3d4b72ff29075addd7442f821ef2041b8963d93b6e9bd4ba7658f0c234543fc47bdfd4a7863eecb73c167eee39cd75db3263655900de8bff1c64bc717af99a5a0b32ff4fed5b87942606ba46e006953760f98f06964639a6dcecd3a4916d1d854ffec03c2190fd676017760192caabb5cbe8a23188eb6bf0e02479cf6af79fd18739229d5ea89e21468aeba3459e9bfa89e64300e121a2c85e2a652bd5fdb1330f99eb207599372584637840e35b4984ac1c9923cccb549fcc66c751fb92d99dfb82c64b401b80a573a4799ebdbc4feb5c4ceb1e285aaddd89ddc5e2f5e90ab3ee40e8a36abbd7387cfafdeebb55201f87b501c2dc191fae82f49e14664b45b7e50deeb5b3124e69b52f16627ded6f2d9da3b5dd3a64f89885ba958ecadd869a5469cd9f5a082386e4103fa84d0555d13baa7f0c87df96b00f9bcbcaadc7cb2ea2aa73dfb8b10c65dd69ac09e4989a59b75f062e7648a3f8f394f8ae77d3b3123c6df3c230be97a8a468bdd8795ca73b8a9e63e54a670feaca4a3924e947079e3cac7a8f1cf78896f82c0fb39a0eea1fe9cbfa01818af28ac8e8fca5a75855ea2a4919e6dc5b647f1b16a1aa5621dbc6a7755e886f401fa0e91a603733d02f6da653defedb79d50fa483c3cecad16324ec7c9a777872374d651b03693d31ec8f7f246147175f0598f289c7b25da7a611a8bbad9f3c0888afabb6f7cfa459a22a872b0b5b0f765d94280f49a3d5fa5edb40cfc1d2bfb9518203caf0001aa679a5a98bafd00d261465b6ea7aaa4f2995db0ae83924d322f514d493a3c67ac12259a93684cbdfca63fab542dd24007247a3b2b5e2057ebe5a12af52649387c374c7952a4e3f25c1167b3d131717a08bff3c861599625e05790e01952af22ca911131b6f35ea24271e3c01492872f25f124a0191f58b5da8f6a4fba4ad7abd3458e552e91be75d192f2891832fecbc4c8fc6e3a94fa02d1602316bfecb430763a71bb577a180195cb77fc86f2c02f1df95fb46488557ea476ac5342e532ec66ab2ea6e1f09f92006938dd840ce58f7c92c7665c2255268ca2753c357b5ada01edab5ab83dc1328732e1d132407eb2aedde5e47104ed826640629faef614546bf885a6e071b11fe406ed5367d69adcc6a91d5f284a9d82abaf39e437ccd709349dd841bf39b93e0ba6b721fc2725f1baae0ba0eab0960e4ff78e6ff4367337f562a3cb1a17ba527cd180f31b5c4d280e6f1127b5b0788a42e69ac25c2a1d1e5271653a653b4f36a819c5d1e413d7807828a4ccd8a6bcdc9bae71dc7cd03d63acd7dc4e47561be3c6a0ec40ea7be9213478e10346907822ff10212bd9a31a7c06f6ecc24e76b806eb4cea69a29c7349fbeaf31aa195cebe7194771ca0194055a096dc297c0c7925f62de62e133e1fd2da07aacb658109b8422916c66d4f665b15db346bf7fa901adcd49327a64f21bdf7bd5822b0a1c3b6348241737736b3bcb4a4b74a2160f1a41fb73baadcebe2c16a9e474c7087e8384259dd3e039d696efb8ea10fa53cbc1273043f6280b2f2b28496b863fb982d79c696a0729178226a8bdc567d51a0608e7328390f648f73d2dce316afc73743b6e795f2bda31c5ef88fa8c9aae1b3b14aeb8841096907ce10b8af2214bdf8888166fa660f0c207b83929dc238352563b882da59c6094f114488261208ad68ae07c867cae26734b3655981f233a82a83d53467c4f25d4a1d223bf9bf4d1be49c985e7c2c04bc51bf3eda0d1ca90e0038113055548caf27486546c437f549d4c253b4607da079ebe9f318695dd85c23f6db4a34b32ff96b1b2a2411496f00f2fc627b00ea52145a8098f76979af9dc9a35981ac7ec8653765d0b514591bd276df961bcc0a7d900ed8486d9944283d0f1ae8a27b36614be92de600c2f4fd32fa6348b4e94175dedb8da867d3b2102ad14871c0c8813f22c7ced6c8e70678e4dfcb6289f720785728bcd5e859933df824a2ac08f2f47e365cfa246c79d5411003ae90f1e14d773694271d1c6337321235329d3eade8cc33b3af114a4efc7d8606a72bf12c1f67ba2bd9495be63fb55cc2d56aa8a8e420b4c5bbce29201d7b696f94a13324886b1b44b2244e101893d238667fdaf54fcadcd3bfa231d15cec8bf43d23127f4c65b789f4a0a0681b620c1e6cf96da468d545f6ec6b608cd213e7212110d397e6b8f8e8ae666a8def88a37c82eb841b456b8814edf9c91ee1a58c0567923ed6284c9bd5c401fa1ebbafe1b3501764a9aa46c85c12b842a4b1b14442c1352eebf8c2153f1d4811e7c5ff9885b1f852a1136474ff37ed1bde0966ccdf7600bbe12973e3427f0a81a4d2e8394e7d12affa7f08b19a819914ecf7fdabf4b244bcad2fb191a9613a86ed2cc8f3949966f4ec797bf1fd2ac890addc599d9d12881a904e495aa7dce820aede704f63eabedbb964621da2c0cb06fe029dadeb6b9e158a5b956b9f4efdd89328ec8b221eb6b5f11c11ec813e18335a30941764d629b8101ab3835fae18683b206e31131a4f2bbfe7fb6d80f0bf83089ccfc8659f5e2d15ceebaa795db05ebdd6ef35231be05def7b82515665da6a26deafc67e899e94921b7d7db96a42857845290bd3ca9f8788aaeba04f3641a2740aa5a2fa1caeefc1cda1221391c5e73b10ccdc68540ba52fdef5249040079b2641459790ee2ba8ef6bb6bdf5abb5b580166f3682f4cf1c8e580809ff0e8a8711b3ab31a6e7c13bec0999f15315b8fb5fd524e3acb7a741eea892fa4693a2af64c9babc93c48ad895aa44309da5919b43be072ae50fd3509ccf7111297ea4d02626c24f1bc574b5fc32bb8ada77a924993cfbc2509873910a0991f166c3bb77add438f039b21097036952a5149f5a7c6a8c42ca490214d6a0dc4e673270f86665b8a774d93e0c7c4a27a12646c94ca5c2bdf8919dd04707113682b1664887d17c39405ec9c54f04e55a96c6037bb3eb83b9b1e72dfe6394e45df8503c5b9c13e265d01d48f6dc1ed4ed627494f0d7a9bed616c30ef48952589712970e7ef152b94ef8eefd7827a28be7d6ddd3f6aa948baee5c11a7b7246ed5bf4cbabef74d39626a3759e1432a545dbf4ddcd0109a943c1955e82be4c6be533d2f6040b575cac111967a5e2e5933ab1bed2178fa58a7464613f6e8b162cebf91e43678bc070a4a98be6a0e6cbb57a0fb3b39133ff49a20f5f10cd2d746e3405e3560c738c951b97e7ef74945421c0bb9a3b53a04aa8a476c8cd8aa0a7fd107f5a4fd0dc2f0858c429e0dcd11da525ea36f6431a90a645d5080a5f971ac5e1ad4544e711d04ba85f6be4fc3ce5d263a6a121ff63201af968c4627d7f7b4121f74718051cae0e1c17d115bd56b673ae98e057ff55c3d7345097e43898219c05cf5be2655473df468d9f7c626d219f2044418cf5beddaf28a8841b0addd5171e0e392d42ae61d0733b75644bb91005626ad8ad35ee75ed19c031773f3d9cbb50307b44140fa37db3e9648f7a31ad0d388755e587caf3936d79ee81bbb08714712fd54e121f2bcbcbbafcf22e99330698a1b714ef1c41418714e00ddb7002590d8219b2c21bba11fc4e4106f88e696178cef7366bc46feb6a407a94a61cd643c952b5e1cff54faf725e325b9115793ca755aff8f5627872c65fee0ff0b022b97496fb5f74e7eab7cc072524d0d34c16f79d381fbc90366a87a321bb7d70cdf0dbf59808e5badaceef3258fe158d177faa749c5bb75f98189a5fe11a18d22d5750fdff13c7f7bc2890dbc5702345156cc3a7f6a1acb2fa359c3e1f3d4daa7533d5a3f5a7d47c905ae968074de059e2bb72b5d43ca8f699e48a2423a263ae4df4625bbb1508d1025852eade7a6d1c5c71a9b2a51034ebb96154caac7383048305a44a1e6364791cade26567ebfae35313fc480da945bcb3b679b17c166da0e021618c6c630464f0d7672a897f220e1647350160e6b3ccc4fed292acc3c444f94f944ac4fb42c3211bfc84a820768caf10f48725cd707480c414d49ea0e7a8416436c6991684b5d21d1b51468ff5bb659dc9274a8c9373318dc72c18f2524541811bdaf34493482652016f939650d2918eab7631eba830637e44b800e29ebc8b28fe05c36c38e668f0dcc43fbeec3577614186f3432e589e01fe99e624073d0af61a09ebddb37dfea29507231b79337cd9da77c4f50bf59789c2adca85cd5b9b03b3baceda595704b5fc5b3ae0f81922fc8d43b2ba6acba936a8e9ce16138fb8614004950a65a8caffeff4470fe0a5a3a44ae6d7132242284556668071c9d0fb722135765057a78d27f1ef16c7d07da6428b3a39a2517951099899a2c8bcbfc96778b04674f5574a78e7362226f4725232d6e92f4bc635568e94eb0663d1fea12140cad637ec9b404c7e10c6cc3a1baeda06eeda8832c5f75a31fb5f2100f815721fe2d90da84e842edb08331081bba6ba4f12115f09023391927c0439b326155be1615800e1f7e0d5dd771391f718f9327dadfeb8ceb1582f50cbd4306e0fefebe83ce6682b18106b0823bdb6f8545302945328a86ee9e78546b7c3a08b472358ce727faaafe6c387bb1bacdf13e4db46774f15853af26f9f14de7653b3257072f98d567ab226f43a126e5af15b28fc7c0837a542bd5fdd673d0e3194ba56d97948408eac8fb29c11ae5db461cbac8c6d28f6721e46f08c184c159179761e72089d474f427453d1a4f4761410e4183072191dc17a5faeb89f4294a9a62b7878f67df54c94c4e2e338f4fcd7004725119d694d731cf4a052bafdfa27336d1a3c0f667351deed239c5e85ba7a822f173f4a747fc98dd96d4c57c087ccf8547b0b3a04130e53222b1e30153b9c7ac6633709e2062fc87561bcf4a97b18fb3a397d2ff816c3826ea1ce7480965bcaebd4acb91333c979dc5ca6d79720160ffb3ad56fdd8797bbf0943ce8f5d94d13721cd6cfce005e27da1365083fbcfe4b9c9e0cd94b3bbc4e6ca2e24c64549c62882b77b2f9edd084d35027f2d4f993612e661f1785f41458bfbb02736e6129abc7372fb3f10d3599a1273b5fbf79e381bd67b03f27f6d1cc764ba6897487f68993991a004c5002b90d1d8a7a8ec28d27a09d7a7176af2826222aada79389a38a4ccf1dc2dd54086ed6ed27399f756da0d1439733d3df9ecac481c844a914c2f7b1135dc84aa016a3583e2d35f827833741f97eb7fbbbf4bee424e5348ee3aec16aa6ade123345fd48979bab31c1c9f6e79678477d3b93e1b64b6ad3a056f485316e813831ed39ff64765fc006fe0b75cc20047cb9bed4071c7618a82e0cb3197cba1f42582eee7a1bd2426cf65f913003a8878b73026003f1fbbe84280524df56395d08a8649f48bffc5d1331838840b71781760efe055fb9de3bb301692b08bb68268b36aae9c8342a641482a3202b5f2eb8ffe2571b7e58065aef77a6c58f66598ad288f3d7b0bbee6eabb67eadaa9af040c148da3cab5e002589de9e8b3e94f9c1983a81cf2e5860091ebb5c41e5ee0254865026b00982173ffd69753d6394d5db1bf2a46fee5bb509a14593a8e3815241cfb1099e28af62ae321ab0c376750726b98d4bc35536d9cc328c83789d939e39d2ad770c924b76cb2aeaff31de6938b04eec546d532bbb770ab352ca3b66d52f87af76fb28c19e4c481baea62e773014bbb4b647a1ade14b84b0aacc38612d6dcf939904209cddc553b0a0274d96471915abd60ef76a1dbaf92be994e882fe0c5c9a049cc632dce3952c9730270df1d312a94b85a325744ba53512ca1abc68cf2453b02698d18fdffffff784674d2c8ba5dfe839892f8e56eedb378b7f5947272f9634c8ce7aea1324f0f034c63d427b605015d279d0508f52c967c4ae24f6fb39f78bd75b1a18873ff4ddf6fe6950fd83a723805a2c05dd2bf4f7ad494a0fd9cd8b5fb12743062d90e9b4fc421d13025694b1253f0a780a571e33833d705cbe4e248fde3587d1b4456b26cc2d5a957a67a7ee0de9f12dfa652231d94ee2a2bbed8cd631199b484fc1ac0f72455c9cb1b421a0d120acb4619bca83e21a3e0f2b8467740235e3ec448462eb96d2e2cbfb8ff2e9865cc83878f7157a970ed40e8e96414fb7b542c4f16b40206ec64704364e39d404013c929cea93280d0c47026e9cd17d42a2293e2c79b1e82c46d4dbab1743422a327b13e4df430367980fd4a80eb84fec3b84de027ee40016e1a8a65fcf84358d88cac80d44b88940fbedbeb87a5e65759c581c1380bbe46080065b8221e4d1441b758e2d19d324f9562d1240efdab2a1d85086e554d2ba8713a2d4d252c163106d05b1b1d40f875f97326dd44b20c16c734f2001e8e5a972283741e4e8cff3ae269590f07fa1bd0caa2faf2bca9e57f78001212b53da5fa56e14bdbeae91ecc48cdea4e9855544e2f397ae6c62bdcfd970934af68c4c8e0a672164c8b8d03ac9491fb01ec107eb893a711caea8f6ff7bd1c3936353e647590037945d6afabea2e370c9dfb4be0a6bc59b669bd5b524fcd59f88daa8993956743c6bbe2353292ee08364c2dd247e208d64429b4ea05762c7003067a57f6a510ddf28ea53e4b74756594fd73e6878e8a9efb502f9d420fbc055ae5d29dbf8a04eedc0d161c5d418ab0093c158a3860f2ce8c58fe5e20b7a15936e819f41578c4682b8c820c8144bc156a765b09c6e39d06ac9f468978a318b4728e6a2d4444d9ce9adce3461033b4cd3ce72cb40aa47a71f228bec64a74ec83f2cc0e54da8bb75fb2d22c2fe1eb22395de5d204b77a8ff6dee8b4a0e43141792fc45c34a51970016a9f4f123d30ed3f8ad9204cfdfcb7ab3dfa2fd38ae60512ac40589e7d408d3cfeb744696f4e97cffbdf88595bf863ba2e371ea413bd83e2bb08b7bb4205fc8624d2acd869655998a0114a53c7b53948367f02597556f02dcc7f935c8bb4113596fc29e2836a43aff89278d200679251c5dcf3b93ac6c8a1b5aab175ec73f2fae15f33ccdd8223852f298f051e8f4f7515c5db2ef088631d92d1d7340cfccd40893ecc3280c3de539884dc492a8ff9c1b2ab77060a45fc0af692659c0b34fe286ba99789e1502fc53446d9f2c15303b4ba2281ca9e69f9358f75f3eafb12a5e02a15460bdb8c2c4466c36a41a370ed8984c0d0d759fe702aa7b232fdac28b4bc440415cad1ea029c944c0455aa9f8c96deaf525b290565df3fa8687be31f7f2cc98b872e0e6d505e21b43b736e47e3882eba602ae8e84ea9e1b01c2e53b2d9af9519203c705c8a6e31545e0b09723f766debfd88d5016e8e4708d612336e284f94c10d050609e7ec2fb99011141f5b22ff808b98d940867ce62dd1dc47906b0b979c8c9fa368fed43fb0f6921ba9cda9639fbb861baadc1b12dab3229b86d31631f7fb0dc0df919a6ac0a31e1615d3116a3d29d1a9ac34e25a12dbd3ee3b6cec4f58eac27b80ab91076978ed2b95d3f9789b46da999e568aab07e4987dc642dfc2d03edf0b281a0271a4002b4bede13238287366c27de5632d7fb780b967d8191506cd521b1514dba003bcf8e1492e615c8b8d8d6eea9f742aff79499a836d2772c2f5638fddd2a1c76c5c721f5e9172548852d1a3faf1422a300815ff26a7965b5bea42150a21ac8fb3b5d4a8e2a9b89849b9056db2d5b9328e8803257973a916bcfd3ab9c240f9686855d40feb196549c39598ec0b1b942d87570d52a25b5ada44e9fbe77010825b6f862dd4aa4b9a43b5409f5c274bbaddf66b39971730f27b0f7824ec75437c2c5d2d7bd8d4ce099633507164b10d5e19fd1d2fd3274a6a0e931fac3cec5c2c75d2e4dc3b818c31c8431124894322603cb8de65611e8fb558ac68245cbc2385b43a0d0228cd3c57a49dfe2f686e46add449d80c28182d6a70055bf42aa1d07ee709c9e20fb3288bc58c0dd898181f0a6d06a0c72ddf729a0bf4146fde9eafd4bb04f23b9d9d382749f48c94cd88136217ba575885c43fbc879b932d5ed03f57059571ab86edaf2b572b3243408634c95fc1b161fc5d9fedbcad148bef704f6a0637e332a2b11052586918263f1ea280a1d0e339f38e17e3f1d0f1a4063c693d4868fbc654362a8a153b6fd2e3361af233779ddadfae5ae0b364f1b1fce7957c0e3b0275acd600", 0x2000, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000840)={0x90, 0x0, 0x0, {0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) 20:03:03 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000040)='cgroup2\x00', 0x0, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) open_by_handle_at(r0, &(0x7f0000000380)=@isofs={0x14, 0x1, {0xe0}}, 0x0) 20:03:03 executing program 4: r0 = socket$l2tp(0x2, 0x2, 0x73) sendmmsg$inet(r0, &(0x7f0000001280)=[{{&(0x7f00000000c0)={0x2, 0x0, @private=0xa010102}, 0x10, 0x0, 0x0, &(0x7f00000013c0)=ANY=[], 0x98}}], 0x1, 0x0) 20:03:03 executing program 3: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NLBL_CIPSOV4_C_LISTALL(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000180)={0x14, 0x0, 0x1}, 0x14}}, 0x0) [ 2427.171568][T19424] ------------[ cut here ]------------ [ 2427.177799][T19424] WARNING: CPU: 0 PID: 19424 at fs/kernfs/dir.c:36 kernfs_active+0x119/0x150 [ 2427.186648][T19424] Modules linked in: [ 2427.190633][T19424] CPU: 0 PID: 19424 Comm: syz-executor.5 Not tainted 6.1.0-rc4-syzkaller-00356-g8f2975c2bb4c #0 [ 2427.201097][T19424] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 [ 2427.211167][T19424] RIP: 0010:kernfs_active+0x119/0x150 [ 2427.216522][T19424] Code: e8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 1f 8b 5b 04 31 ff 89 de e8 e6 6d 7e ff 89 d8 5b f7 d0 5d c1 e8 1f c3 e8 07 71 7e ff <0f> 0b eb a5 48 89 ef e8 5b c7 ca ff eb d7 48 c7 c7 4c 65 e2 8d e8 [ 2427.236160][T19424] RSP: 0018:ffffc9000353fbc0 EFLAGS: 00010216 [ 2427.242237][T19424] RAX: 00000000000000c6 RBX: ffff88807489fcb0 RCX: ffffc9000a591000 [ 2427.250212][T19424] RDX: 0000000000040000 RSI: ffffffff81fe3b79 RDI: 0000000000000005 [ 2427.258168][T19424] RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000 [ 2427.266191][T19424] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88807489fcb0 [ 2427.274280][T19424] R13: ffff888024532000 R14: 0000000000000000 R15: 0000000000000001 [ 2427.282267][T19424] FS: 00007f0c6d18a700(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000 [ 2427.291205][T19424] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2427.297773][T19424] CR2: 0000001b2f324000 CR3: 00000000966f3000 CR4: 0000000000350ef0 [ 2427.305761][T19424] Call Trace: [ 2427.309040][T19424] [ 2427.311985][T19424] kernfs_find_and_get_node_by_id+0x84/0x170 [ 2427.317951][T19424] __kernfs_fh_to_dentry+0xdb/0x270 [ 2427.323177][T19424] exportfs_decode_fh_raw+0x127/0x7d0 [ 2427.328538][T19424] ? drop_caches_sysctl_handler+0x110/0x110 [ 2427.334449][T19424] ? kernfs_fh_to_parent+0x40/0x40 [ 2427.339550][T19424] ? reconnect_path+0x810/0x810 [ 2427.344429][T19424] ? find_held_lock+0x2d/0x110 [ 2427.349179][T19424] ? __fget_files+0x248/0x440 [ 2427.353961][T19424] ? lock_downgrade+0x6e0/0x6e0 [ 2427.358801][T19424] ? lock_downgrade+0x6e0/0x6e0 [ 2427.363665][T19424] ? __fget_files+0x26a/0x440 [ 2427.368330][T19424] ? drop_caches_sysctl_handler+0x110/0x110 [ 2427.374236][T19424] exportfs_decode_fh+0x38/0x90 [ 2427.379078][T19424] do_handle_open+0x2b6/0x8b0 [ 2427.383797][T19424] ? do_sys_name_to_handle+0x4c0/0x4c0 [ 2427.389246][T19424] ? syscall_enter_from_user_mode+0x22/0xb0 [ 2427.395162][T19424] do_syscall_64+0x35/0xb0 [ 2427.399569][T19424] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 2427.405483][T19424] RIP: 0033:0x7f0c6c48b639 [ 2427.409883][T19424] 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 [ 2427.429550][T19424] RSP: 002b:00007f0c6d18a168 EFLAGS: 00000246 ORIG_RAX: 0000000000000130 [ 2427.437967][T19424] RAX: ffffffffffffffda RBX: 00007f0c6c5abf80 RCX: 00007f0c6c48b639 [ 2427.445973][T19424] RDX: 0000000000000000 RSI: 0000000020000380 RDI: 0000000000000003 [ 2427.453966][T19424] RBP: 00007f0c6c4e67e1 R08: 0000000000000000 R09: 0000000000000000 [ 2427.461948][T19424] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 2427.469954][T19424] R13: 00007fffbb64ff6f R14: 00007f0c6d18a300 R15: 0000000000022000 [ 2427.477924][T19424] [ 2427.480957][T19424] Kernel panic - not syncing: panic_on_warn set ... [ 2427.487518][T19424] CPU: 0 PID: 19424 Comm: syz-executor.5 Not tainted 6.1.0-rc4-syzkaller-00356-g8f2975c2bb4c #0 [ 2427.497905][T19424] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 [ 2427.507938][T19424] Call Trace: [ 2427.511199][T19424] [ 2427.514112][T19424] dump_stack_lvl+0xcd/0x134 [ 2427.518689][T19424] panic+0x2c8/0x622 [ 2427.522575][T19424] ? panic_print_sys_info.part.0+0x110/0x110 [ 2427.528549][T19424] ? __warn.cold+0x24b/0x350 [ 2427.533121][T19424] ? kernfs_active+0x119/0x150 [ 2427.537863][T19424] __warn.cold+0x25c/0x350 [ 2427.542259][T19424] ? kernfs_active+0x119/0x150 [ 2427.547003][T19424] report_bug+0x1bc/0x210 [ 2427.551319][T19424] handle_bug+0x3c/0x70 [ 2427.555453][T19424] exc_invalid_op+0x14/0x40 [ 2427.559939][T19424] asm_exc_invalid_op+0x16/0x20 [ 2427.564780][T19424] RIP: 0010:kernfs_active+0x119/0x150 [ 2427.570135][T19424] Code: e8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 1f 8b 5b 04 31 ff 89 de e8 e6 6d 7e ff 89 d8 5b f7 d0 5d c1 e8 1f c3 e8 07 71 7e ff <0f> 0b eb a5 48 89 ef e8 5b c7 ca ff eb d7 48 c7 c7 4c 65 e2 8d e8 [ 2427.589726][T19424] RSP: 0018:ffffc9000353fbc0 EFLAGS: 00010216 [ 2427.595772][T19424] RAX: 00000000000000c6 RBX: ffff88807489fcb0 RCX: ffffc9000a591000 [ 2427.603722][T19424] RDX: 0000000000040000 RSI: ffffffff81fe3b79 RDI: 0000000000000005 [ 2427.611674][T19424] RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000 [ 2427.619624][T19424] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88807489fcb0 [ 2427.627574][T19424] R13: ffff888024532000 R14: 0000000000000000 R15: 0000000000000001 [ 2427.635529][T19424] ? kernfs_active+0x119/0x150 [ 2427.640281][T19424] kernfs_find_and_get_node_by_id+0x84/0x170 [ 2427.646249][T19424] __kernfs_fh_to_dentry+0xdb/0x270 [ 2427.651437][T19424] exportfs_decode_fh_raw+0x127/0x7d0 [ 2427.656796][T19424] ? drop_caches_sysctl_handler+0x110/0x110 [ 2427.662675][T19424] ? kernfs_fh_to_parent+0x40/0x40 [ 2427.667777][T19424] ? reconnect_path+0x810/0x810 [ 2427.672619][T19424] ? find_held_lock+0x2d/0x110 [ 2427.677363][T19424] ? __fget_files+0x248/0x440 [ 2427.682023][T19424] ? lock_downgrade+0x6e0/0x6e0 [ 2427.686855][T19424] ? lock_downgrade+0x6e0/0x6e0 [ 2427.691690][T19424] ? __fget_files+0x26a/0x440 [ 2427.696352][T19424] ? drop_caches_sysctl_handler+0x110/0x110 [ 2427.702233][T19424] exportfs_decode_fh+0x38/0x90 [ 2427.707073][T19424] do_handle_open+0x2b6/0x8b0 [ 2427.711739][T19424] ? do_sys_name_to_handle+0x4c0/0x4c0 [ 2427.717183][T19424] ? syscall_enter_from_user_mode+0x22/0xb0 [ 2427.723070][T19424] do_syscall_64+0x35/0xb0 [ 2427.727491][T19424] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 2427.733369][T19424] RIP: 0033:0x7f0c6c48b639 [ 2427.737761][T19424] 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 [ 2427.757356][T19424] RSP: 002b:00007f0c6d18a168 EFLAGS: 00000246 ORIG_RAX: 0000000000000130 [ 2427.765747][T19424] RAX: ffffffffffffffda RBX: 00007f0c6c5abf80 RCX: 00007f0c6c48b639 [ 2427.773697][T19424] RDX: 0000000000000000 RSI: 0000000020000380 RDI: 0000000000000003 [ 2427.781650][T19424] RBP: 00007f0c6c4e67e1 R08: 0000000000000000 R09: 0000000000000000 [ 2427.789598][T19424] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 2427.797551][T19424] R13: 00007fffbb64ff6f R14: 00007f0c6d18a300 R15: 0000000000022000 [ 2427.805511][T19424] [ 2427.809744][T19424] Kernel Offset: disabled [ 2427.814469][T19424] Rebooting in 86400 seconds..