e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x88000}, {&(0x7f0000045700)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000008000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a000000000000004000000000000000005802000000000000300200000000000030020000000000114b080000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000100000000000000010000000000000001101040000000000ffffffff00000000", 0x1a0, 0xff800}, {&(0x7f0000045900)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff9e0}, {&(0x7f0000045a00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xffbe0}, {&(0x7f0000045b00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xffde0}, {&(0x7f0000045c00)="000000000000000000000000000000000000000000000000000000000000080046494c4530000500000000000000000001000100400001006001000000080000000000000000000003000000010000000200000000000000000000000000000010000000600000000000180000000000480000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd601002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff0100000000ffffffff00000000", 0x180, 0xfffe0}, {&(0x7f0000045e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f0000045f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f0000046000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f0000046100)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000002000100400001006001000000080000000000000000000003000000020000000200000000000000000000000000000010000000600000000000180000000000480000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302000000ffffffff00000000", 0x180, 0x1007e0}, {&(0x7f0000046300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1009e0}, {&(0x7f0000046400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100be0}, {&(0x7f0000046500)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100de0}, {&(0x7f0000046600)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e801000000080000000000000000000006000000030000000200000000000000000000000000000010000000480000000000180000000000300000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000000000000000000000200", 0x220, 0x100fe0}, {&(0x7f0000046900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1013e0}, {&(0x7f0000046a00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1015e0}, {&(0x7f0000046b00)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x1017e0}, {&(0x7f0000086c00)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002000000a3b8b20fcf7aa836000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f0000086d00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f0000086e00)) 01:42:42 executing program 2: r0 = socket$tipc(0x1e, 0x5, 0x0) listen(r0, 0x0) ppoll(&(0x7f0000000100)=[{r0}], 0x1, &(0x7f0000000140)={0x0, 0x989680}, 0x0, 0x0) [ 1124.984358][ T37] audit: type=1400 audit(1641433362.872:772): avc: denied { listen } for pid=1368 comm="syz-executor.2" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=tipc_socket permissive=1 [ 1125.008633][ T166] Bluetooth: hci1: command 0x041b tx timeout 01:42:42 executing program 0: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000580)=@base={0x2, 0x4, 0x1, 0x21, 0x10}, 0x48) bpf$MAP_LOOKUP_BATCH(0x18, &(0x7f0000000800)={0x0, 0x0, 0x0, 0x0, 0x0, r0}, 0x38) 01:42:42 executing program 2: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$UI_END_FF_UPLOAD(r0, 0x405c5503, &(0x7f0000000140)={0x0, 0x0, {}, {0x0, 0x0, 0x0, {}, {}, @ramp}}) 01:42:42 executing program 0: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000180)={0x80000000}, 0x19a) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000001c0)=@mpls_getroute={0x24, 0x1a, 0x1, 0x0, 0x0, {}, [@RTA_DST={0x8}]}, 0x24}}, 0x0) [ 1125.114305][ T1371] loop1: detected capacity change from 0 to 8185 [ 1125.160131][ T1364] loop3: detected capacity change from 0 to 264192 [ 1125.204944][ T1371] ntfs: volume version 3.1. 01:42:43 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000000), 0x8, 0x0) ioctl$VIDIOC_QUERY_EXT_CTRL(r0, 0xc0e85667, &(0x7f0000000200)={0x98f907, 0x0, "94d7fc50e3aaa0219823349abc0969df6f72e6b7fb8ccf1bd98abf7679a50ab1"}) 01:42:43 executing program 3: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_mount_image$squashfs(&(0x7f0000000000), &(0x7f0000000100)='./file2\x00', 0x20000000000001f4, 0x1, &(0x7f0000000040)=[{&(0x7f0000010000)="6873717307000000911d675f004000000100000003000e00e0000200040000001201000000000000f801000000000000ac01000000000000e0010000000000007f000000000000001f0100000000000076010000000000009a010000000000001a73797a6b616c6c6572203a200020438c01200000009835a1e521433345949e001d0200ed0100000100911d675f40012b0100644c002a7d00032d6e001a040f000300ff277c005901006d08264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b5000129750102c40b7d00294d00074d0009297d000529f5010a2da402e6177e04bc002add00065d0160de0328232cdc006d0dff410000291f000100c027ed0007dc04651f545d1a085c001100004800130100a100034d00204c00090200040066696c65304000015002b2013104d404f7050200088003032e636f6c647e590201f9069e4001ec080131d60005273100322a3100331100000b00136000a1001fdc0011000069010000000000001a001200c1007edd0020dd0040dd009edd00d6de001201bc001100007e0100000000000008805cf90100535f0100a2010000000000001b001e00000600786174747231060000c401274d0032274d00321100000d001200c100024d00244c00110000b4010000000000000100000000000000d101", 0x1f2}], 0x0, &(0x7f00000001c0)=ANY=[]) read$FUSE(0xffffffffffffffff, 0x0, 0x0) r2 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_tx_ring(r2, 0x107, 0x5, &(0x7f00000000c0)=@req3, 0x1c) setsockopt$packet_rx_ring(0xffffffffffffffff, 0x107, 0x5, 0x0, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000001c0)=@newlink={0x3c, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @bridge={{0xb}, {0xc, 0x2, 0x0, 0x1, [@IFLA_BR_MCAST_MLD_VERSION={0x5, 0x2c, 0x1}]}}}]}, 0x3c}}, 0x0) r3 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb), 0x0) ioctl$FS_IOC_GETFSLABEL(r3, 0x81009431, 0x0) accept$unix(0xffffffffffffffff, 0x0, 0x0) socket$packet(0x11, 0x3, 0x300) openat(r1, &(0x7f0000000480)='./file1\x00', 0x0, 0x0) getpid() prctl$PR_SCHED_CORE(0x3e, 0x0, 0x0, 0x0, 0x0) 01:42:43 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setresgid(0x0, r3, 0x0) 01:42:43 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000000), 0x8, 0x0) ioctl$VIDIOC_QUERY_EXT_CTRL(r0, 0xc0e85667, &(0x7f0000000200)={0x98f907, 0x0, "94d7fc50e3aaa0219823349abc0969df6f72e6b7fb8ccf1bd98abf7679a50ab1"}) 01:42:43 executing program 1: r0 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$PPPIOCNEWUNIT(r0, 0xc004743e, &(0x7f0000000080)) ioctl$PPPIOCSNPMODE(r0, 0x4008744b, &(0x7f0000000000)) 01:42:43 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000000), 0x8, 0x0) ioctl$VIDIOC_QUERY_EXT_CTRL(r0, 0xc0e85667, &(0x7f0000000200)={0x98f907, 0x0, "94d7fc50e3aaa0219823349abc0969df6f72e6b7fb8ccf1bd98abf7679a50ab1"}) 01:42:43 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000180)=@newlink={0x90, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x585d, 0xa001}, [@IFLA_AF_SPEC={0x1c, 0x1a, 0x0, 0x1, [@AF_INET6={0x18, 0xa, 0x0, 0x1, [@IFLA_INET6_TOKEN={0x14, 0x7, @loopback}]}]}, @IFLA_IFNAME={0x14, 0x3, 'ipvlan1\x00'}, @IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @ipvlan={{0xb}, {0xc, 0x2, 0x0, 0x1, [@IFLA_IPVLAN_MODE={0x6}]}}}, @IFLA_XDP={0x24, 0x2b, 0x0, 0x1, [@IFLA_XDP_EXPECTED_FD={0x8}, @IFLA_XDP_FLAGS={0x8, 0x3, 0x4}, @IFLA_XDP_FD={0x8}, @IFLA_XDP_EXPECTED_FD={0x8}]}]}, 0x90}}, 0x0) 01:42:43 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000000), 0x8, 0x0) ioctl$VIDIOC_QUERY_EXT_CTRL(r0, 0xc0e85667, &(0x7f0000000200)={0x98f907, 0x0, "94d7fc50e3aaa0219823349abc0969df6f72e6b7fb8ccf1bd98abf7679a50ab1"}) 01:42:44 executing program 2: openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder1\x00', 0x0, 0x0) r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000040)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) lseek(r0, 0x7, 0x0) [ 1126.302487][ T1394] loop3: detected capacity change from 0 to 264192 [ 1126.330218][ T1394] squashfs: Unknown parameter '<' 01:42:44 executing program 3: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_mount_image$squashfs(&(0x7f0000000000), &(0x7f0000000100)='./file2\x00', 0x20000000000001f4, 0x1, &(0x7f0000000040)=[{&(0x7f0000010000)="6873717307000000911d675f004000000100000003000e00e0000200040000001201000000000000f801000000000000ac01000000000000e0010000000000007f000000000000001f0100000000000076010000000000009a010000000000001a73797a6b616c6c6572203a200020438c01200000009835a1e521433345949e001d0200ed0100000100911d675f40012b0100644c002a7d00032d6e001a040f000300ff277c005901006d08264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b5000129750102c40b7d00294d00074d0009297d000529f5010a2da402e6177e04bc002add00065d0160de0328232cdc006d0dff410000291f000100c027ed0007dc04651f545d1a085c001100004800130100a100034d00204c00090200040066696c65304000015002b2013104d404f7050200088003032e636f6c647e590201f9069e4001ec080131d60005273100322a3100331100000b00136000a1001fdc0011000069010000000000001a001200c1007edd0020dd0040dd009edd00d6de001201bc001100007e0100000000000008805cf90100535f0100a2010000000000001b001e00000600786174747231060000c401274d0032274d00321100000d001200c100024d00244c00110000b4010000000000000100000000000000d101", 0x1f2}], 0x0, &(0x7f00000001c0)=ANY=[]) read$FUSE(0xffffffffffffffff, 0x0, 0x0) r2 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_tx_ring(r2, 0x107, 0x5, &(0x7f00000000c0)=@req3, 0x1c) setsockopt$packet_rx_ring(0xffffffffffffffff, 0x107, 0x5, 0x0, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000001c0)=@newlink={0x3c, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @bridge={{0xb}, {0xc, 0x2, 0x0, 0x1, [@IFLA_BR_MCAST_MLD_VERSION={0x5, 0x2c, 0x1}]}}}]}, 0x3c}}, 0x0) r3 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb), 0x0) ioctl$FS_IOC_GETFSLABEL(r3, 0x81009431, 0x0) accept$unix(0xffffffffffffffff, 0x0, 0x0) socket$packet(0x11, 0x3, 0x300) openat(r1, &(0x7f0000000480)='./file1\x00', 0x0, 0x0) getpid() prctl$PR_SCHED_CORE(0x3e, 0x0, 0x0, 0x0, 0x0) 01:42:44 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000180)=@newlink={0x90, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x585d, 0xa001}, [@IFLA_AF_SPEC={0x1c, 0x1a, 0x0, 0x1, [@AF_INET6={0x18, 0xa, 0x0, 0x1, [@IFLA_INET6_TOKEN={0x14, 0x7, @loopback}]}]}, @IFLA_IFNAME={0x14, 0x3, 'ipvlan1\x00'}, @IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @ipvlan={{0xb}, {0xc, 0x2, 0x0, 0x1, [@IFLA_IPVLAN_MODE={0x6}]}}}, @IFLA_XDP={0x24, 0x2b, 0x0, 0x1, [@IFLA_XDP_EXPECTED_FD={0x8}, @IFLA_XDP_FLAGS={0x8, 0x3, 0x4}, @IFLA_XDP_FD={0x8}, @IFLA_XDP_EXPECTED_FD={0x8}]}]}, 0x90}}, 0x0) 01:42:44 executing program 2: openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder1\x00', 0x0, 0x0) r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000040)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) lseek(r0, 0x7, 0x0) 01:42:44 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000100)=@newtaction={0x68, 0x30, 0x308cadd2c944cfd3, 0x0, 0x0, {}, [{0x54, 0x1, [@m_skbedit={0x50, 0x1, 0x0, 0x0, {{0xc}, {0x24, 0x2, 0x0, 0x1, [@TCA_SKBEDIT_MARK={0x8, 0x4}, @TCA_SKBEDIT_PARMS={0x18, 0x2, {0x2}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x68}}, 0x0) 01:42:44 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000180)=@newlink={0x90, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x585d, 0xa001}, [@IFLA_AF_SPEC={0x1c, 0x1a, 0x0, 0x1, [@AF_INET6={0x18, 0xa, 0x0, 0x1, [@IFLA_INET6_TOKEN={0x14, 0x7, @loopback}]}]}, @IFLA_IFNAME={0x14, 0x3, 'ipvlan1\x00'}, @IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @ipvlan={{0xb}, {0xc, 0x2, 0x0, 0x1, [@IFLA_IPVLAN_MODE={0x6}]}}}, @IFLA_XDP={0x24, 0x2b, 0x0, 0x1, [@IFLA_XDP_EXPECTED_FD={0x8}, @IFLA_XDP_FLAGS={0x8, 0x3, 0x4}, @IFLA_XDP_FD={0x8}, @IFLA_XDP_EXPECTED_FD={0x8}]}]}, 0x90}}, 0x0) 01:42:44 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000240)={0xffffffffffffffff, 0x0, &(0x7f0000000200)={&(0x7f0000000040)=@ipv6_newnexthop={0x18, 0x4e, 0x1, 0x0, 0x0, {0x2, 0x48}}, 0x18}, 0x1, 0xfe07}, 0x0) 01:42:44 executing program 2: openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder1\x00', 0x0, 0x0) r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000040)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) lseek(r0, 0x7, 0x0) [ 1126.446889][ T1413] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 01:42:44 executing program 1: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000040)={0x1, &(0x7f0000000100)=[{0x6, 0x0, 0x0, 0x7fff0000}]}) r0 = add_key$keyring(&(0x7f0000000000), &(0x7f0000000080)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffb) keyctl$invalidate(0x15, r0) [ 1127.087596][ T38] Bluetooth: hci1: command 0x040f tx timeout 01:42:45 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000180)=@newlink={0x90, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x585d, 0xa001}, [@IFLA_AF_SPEC={0x1c, 0x1a, 0x0, 0x1, [@AF_INET6={0x18, 0xa, 0x0, 0x1, [@IFLA_INET6_TOKEN={0x14, 0x7, @loopback}]}]}, @IFLA_IFNAME={0x14, 0x3, 'ipvlan1\x00'}, @IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @ipvlan={{0xb}, {0xc, 0x2, 0x0, 0x1, [@IFLA_IPVLAN_MODE={0x6}]}}}, @IFLA_XDP={0x24, 0x2b, 0x0, 0x1, [@IFLA_XDP_EXPECTED_FD={0x8}, @IFLA_XDP_FLAGS={0x8, 0x3, 0x4}, @IFLA_XDP_FD={0x8}, @IFLA_XDP_EXPECTED_FD={0x8}]}]}, 0x90}}, 0x0) 01:42:45 executing program 2: openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder1\x00', 0x0, 0x0) r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000040)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) lseek(r0, 0x7, 0x0) 01:42:45 executing program 1: perf_event_open(&(0x7f0000000280)={0x2, 0x80, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) msgctl$MSG_INFO(0x0, 0xc, &(0x7f0000000000)=""/251) 01:42:45 executing program 3: syz_mount_image$reiserfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000100), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='jdev=.']) 01:42:45 executing program 1: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r0, 0x5412, &(0x7f00000008c0)=0x13) ioctl$TCSETSF2(r0, 0x402c542d, &(0x7f0000000080)={0xceb0, 0x0, 0x0, 0x0, 0x0, "fc8a53c6e3576fd607afff0800"}) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r1, 0x5412, &(0x7f0000001300)=0xd) 01:42:45 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f0000000040)={0xd, 0x4, &(0x7f0000346fc8)=@framed={{}, [@alu={0x8000000201a7f19, 0x0, 0x6, 0x9, 0x1, 0x88}]}, &(0x7f0000000000)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x23) [ 1127.352389][ T1429] REISERFS warning (device loop3): sh-2021 reiserfs_fill_super: can not find reiserfs on loop3 01:42:45 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_LAPIC(r2, 0x4008ae89, &(0x7f0000001a40)={"06000000dd245c84ce000000c9c8dc19643272a96fa42b76700500002bec0ba41f0100003a40c8a4750100003b00041f04000000003c5ca2b6000040ee377abaece6b88378e3d63ab7000040361d264ffa8b46485f02baee074d564b4252066178868d1ef4b5365c5dc26ca097ddda7c21a9845c0c1dbc75d7ea4df10000174a3ac8694525a72f44500a1f0db500800000000000008f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa006a832d309fcda5bb5a6baa41d614f6c8941bee805954a62d196a4e8d4bf6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478fbe65449b404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5eddec2d1cc39035caef10dcd2c569319d6e9bb2058d023f669a64fc7d9684364673dcfa9235ea5a2ff23c4bb5c5acb2e8976dcac779ff000000000000003d4e185afe28b774b99d38c90937428617de4cdd6f53c419ce31054182fd898af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e9605ab8c3c43840abd17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba16f70f558b2246ad95ccf7d3f80cc0f768f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3efb254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f47692613e28387e955722908dd88b56163be8312ff47c5b6f070072975af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047666843badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffb7e7603970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d819164300"}) 01:42:45 executing program 0: syz_usb_connect(0x0, 0x2d, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000a504bd40eb030200c0ba0000000109021b0001000000000904000001b504b100090581"], 0x0) r0 = syz_open_dev$evdev(&(0x7f00000000c0), 0x400, 0x0) ioctl$EVIOCSKEYCODE_V2(r0, 0x40284504, &(0x7f0000000040)={0x0, 0x4, 0x0, 0x0, "02000000ee57a4c4b6da3ba4819068747f57bffe0f7c61542800"}) 01:42:45 executing program 1: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r0, 0x5412, &(0x7f00000008c0)=0x13) ioctl$TCSETSF2(r0, 0x402c542d, &(0x7f0000000080)={0xceb0, 0x0, 0x0, 0x0, 0x0, "fc8a53c6e3576fd607afff0800"}) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r1, 0x5412, &(0x7f0000001300)=0xd) 01:42:45 executing program 1: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r0, 0x5412, &(0x7f00000008c0)=0x13) ioctl$TCSETSF2(r0, 0x402c542d, &(0x7f0000000080)={0xceb0, 0x0, 0x0, 0x0, 0x0, "fc8a53c6e3576fd607afff0800"}) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r1, 0x5412, &(0x7f0000001300)=0xd) 01:42:45 executing program 3: syz_mount_image$reiserfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000100), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='jdev=.']) 01:42:45 executing program 1: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r0, 0x5412, &(0x7f00000008c0)=0x13) ioctl$TCSETSF2(r0, 0x402c542d, &(0x7f0000000080)={0xceb0, 0x0, 0x0, 0x0, 0x0, "fc8a53c6e3576fd607afff0800"}) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r1, 0x5412, &(0x7f0000001300)=0xd) 01:42:45 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r0, 0x5412, &(0x7f00000008c0)=0x13) ioctl$TCSETSF2(r0, 0x402c542d, &(0x7f0000000080)={0xceb0, 0x0, 0x0, 0x0, 0x0, "fc8a53c6e3576fd607afff0800"}) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r1, 0x5412, &(0x7f0000001300)=0xd) [ 1127.520556][ T1446] REISERFS warning (device loop3): sh-2021 reiserfs_fill_super: can not find reiserfs on loop3 01:42:45 executing program 1: perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000880)=ANY=[@ANYBLOB="b702000015000000bfa300000000000007030000fdfdfff67a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040000010000400404000001000000b7050000020000006a0a00fe00000000850000000a000000b70000000000000095000000000000009cc6b3fcd62c7d1c6238975d43a4505f80fc889f3c530cf08e467b592f868ee3b0a434df0a0e8c1bf176db2a6b2feb4b6fd3d5707bfd2d84aaa3b1d4e984c46ea7e2a447a36f5662403e1b2be4cc7c2683908a0d411a9872971c7c56f0979bd10b97163c1d6d0e196bf02f46c7953ab1abda45cbe8f9de9ca3c00cb9bf4e418d07fa22f0610a70f2bdf4000000000000b0c2940dd8e263f63223b7b80197aa743f7555193161f45346b1000000000000000089e399f6609876b5887437a172fbc02a740675298b79dc194e533583412dff048fc21f28bdd3e26a5ab2728a0481e9f0da43bb6cfb851ce5a9ff19ffcafe3e64beb438863a07b5ecd31c13caec04a347383420336bec88c24a9fb6a6991ddb737d527d6acb15426415b6e8b14f822e86067a5e991c5ad14984dfa2c6e94bd0339454c13ad3c328a1c9febd71d0afde308636dbfbadac227426731455dc284c6756d215a0fd436a905e381f774fd2a170f389b3e0e249155881a2c99cc5beb4ef9df2f2e9989bd8671197d134f7b876cf4054f2355782c2f0fe9f76c4727cfe2fa1f866a3b74d3ff2558b9d21ade0288e6c8712339b46e2d9eecde392e1492c81416db85031bd3988b31c64be8f54d7f1d324934f9dee49a04920e09975840022fb5eb3bfa9bc19465dc34c6415a945dbc90081fd8d57a14fa225cd2826ff3a6da13bf13a1e5c9c87a7c40678bab5ba636181385669e11e052c"], &(0x7f0000000340)='GPL\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000100)={r0, 0x0, 0x10, 0x0, &(0x7f0000000540)="8d14fb003092bd81ed4e5b534c5747c8", 0x0, 0x1000}, 0x28) 01:42:45 executing program 3: syz_mount_image$reiserfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000100), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='jdev=.']) [ 1127.660361][ T1534] REISERFS warning (device loop3): sh-2021 reiserfs_fill_super: can not find reiserfs on loop3 [ 1127.747176][ T1195] usb 5-1: new high-speed USB device number 10 using dummy_hcd [ 1128.137151][ T1195] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 1128.148790][ T1195] usb 5-1: New USB device found, idVendor=03eb, idProduct=0002, bcdDevice=ba.c0 [ 1128.159731][ T1195] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1128.181785][ T1195] usb 5-1: config 0 descriptor?? [ 1128.297251][ T1195] rc_core: IR keymap rc-hauppauge not found [ 1128.303679][ T1195] Registered IR keymap rc-empty [ 1128.312322][ T1195] rc rc0: IgorPlug-USB IR Receiver as /devices/platform/dummy_hcd.0/usb5/5-1/5-1:0.0/rc/rc0 [ 1128.325908][ T1195] input: IgorPlug-USB IR Receiver as /devices/platform/dummy_hcd.0/usb5/5-1/5-1:0.0/rc/rc0/input39 [ 1128.431311][T19079] usb 5-1: USB disconnect, device number 10 01:42:46 executing program 0: r0 = openat$fb1(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000080)={0x190, 0x78, 0xf0, 0x7909c4b04404dcd7}) 01:42:46 executing program 1: recvfrom(0xffffffffffffffff, &(0x7f0000000000)=""/75, 0x4b, 0x2, &(0x7f0000000080)=@sco={0x1f, @fixed={'\xaa\xaa\xaa\xaa\xaa', 0x12}}, 0x80) r0 = accept4$inet(0xffffffffffffffff, &(0x7f0000000100)={0x2, 0x0, @loopback}, &(0x7f0000000140)=0x10, 0x80000) sendto(r0, &(0x7f0000000180)="30cc33a1fee068a5c945ccae8f48b7178a566f8f96726c32fe919bffe96f0f9323416941f41a56274f4ec209f1c8e85b8acf58b0abcc10d17d3a6842edc2037a1c9178fed1896421a87fc5", 0x4b, 0x20000000, &(0x7f0000000200)=@l2tp6={0xa, 0x0, 0x1ff, @private1={0xfc, 0x1, '\x00', 0x1}, 0x400, 0x1}, 0x80) setsockopt$inet_pktinfo(r0, 0x0, 0x8, &(0x7f0000000280)={0x0, @private=0xa010100, @loopback}, 0xc) pipe(&(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) r3 = accept4$packet(r2, &(0x7f0000000300)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000340)=0x14, 0x80000) connect$unix(r1, &(0x7f0000000380)=@file={0x1, './file0\x00'}, 0x6e) ioctl$BTRFS_IOC_DEFRAG(r0, 0x50009402, 0x0) sendto(r3, &(0x7f0000000400)="2b7c5422d99ea283c4357691d8d4229ceb93265b8206bbd7b6648ff974b591e212839a87f0d9312c263116fca8808c65d6465af44158e26dd877b49507e972df543043aa5ceae7a10e52465d510f1845e21d1abc414c2f51c64caec2e1e4cb871278379a1400ba93ec89c0380bc13770959d042f0d66eb5e48300a121c5fcb9de39b17e3f1add921b5b5cb9c2332863ccef6dc47d6a5486cb0d3d32a6280cf4ac562def1e5b76c3ab77edd321e92e3c34c0e5022aa49cd7e72e61799934e383ef48305085ff8aa6128990f9c6c16cbceeb44fc1584612cebfe97c5bb537b53c7aba33b31ff87479e7bac5ab369ca3ec14afebd14ab7d6252e1b81135da2f52bf3ce4bcbaf8aefe097497a82a06e571305182c7f502baaa8bcd0902d9c535d61c79d4cc441edeff8a770c1e29a04a5855022571dfc6fdf5bbc6c7e6d19672365f152a2cde074ec7948c0a385024def3a79a93a658ef6f5052a1845b503768a52e48d10b91047ebea241e5e2b0be1c2d4fde31531127704c74bf3182a1adc5da932e4c802afc0a638f5a14b28a22d43f45311861cc81cbecc9d74e61bf99558c1a88fec20fe9d486b0127919a0d9f2c987614fb94d807c2ad86cb50f79310702f356704fba649f6423a5c135daa28417209a7f525eb80ac4bb33a6d378de59d8ce4808d6751355ea900da6178bff953896fd8a623c43f227a715cefeaf21b2d1430a36f2cc14fa743cb698a153e3105c7f4d209f68fa8db774f2ba8515175c19c171eb02afd878e6fe5a725d51a1f4ee6ad9c7e921c79711bc408283c9ef44c4d7c8b62238c1fe47d922ba18695e124d46920f48cb19b17e0eaaa4ec975832611f24efb680f792f3148818153324590590c26f2d8e98c0557506d0de57654ffe3fd378b943eb589c72a6d52d2a21392bb0d98940c182de783b060ea9b97394b3937674c3bdb6696cfb1b1eabb2cfb29a6e38a2bb045c18254cfdc03cfb84a479dbff98eacd4e3b0f17622dee1b3a697797905a9f5d2050feac53afd452396d22fbbbb162440b922b7a70fe42f7ab6496a6c4244fac1a5cc29b64e0d0790bcfdffef8dc7c47f3b02cde26f3001d4104761e525b599c16e278e723cd3134a11b4e50025328fe60a5eee00e0257f12be22a04066d0186100464e5961f2db0ccf4bb9a0d14f9e9a90f358c699a35ed932e050ed686cacdb52351289134f0f399b0d1892a4eca407a18bbf3a653cef27dca62b3a1ebe4b83aa11dc11d8af1db69fb767f648fb34c6c974acc8224fa7fa2bda5016544578041e013633a8da7c49c579840db05684810497205463e5fce98673c4e271dcdb22d06bc0e7f776fe31b75e1e2404434bf821bba6632e070fa17b2f4570d53a9113d9ab0ce49e4ce9be115fda6e410859b6784df58c00539f62678b353131c7de410f85b03c8d1bedb4c377f1ea587333880a00cd5147d81aa6bd457414db129fdc41d899994356c322444f7cc8ea116bd3c7a051ea859a8d4b9b93be8d055b1e10925602286e17b354b04b1720cdce215dcfb95718badaa2d46058ab9246f513cdbd1b74b5a684956a065721045c853dfc82a6008c13288d303f52f1faacab7c4ce328caeae2b68e64f968bd39ea39bbd3121a077337adc92cf586550464eb17be47d538a4f05eeeac366956eb7887d197f88b9361e52f705d6ea9e2b5023d181fa8f571da933d6b700f986603ddd9dc445201b442695aa943d2005a3526ed3cc7fd891c1371137d54916f2c7d0c796946ada0c56a4770eefd40cc6d63025d2087ae0c0e6676abfad8ada0c2ac8d7da344e7df3772273848e8ee6a5b8c1608c9051a5ed09955078064ee5b056d9387f7738d335ebc68351a69c9cdb88272dff360d3a2759cd7cabe141dbb4f799329abc73349fd121c8d9269ae1ab76975b88fd719f96f9525c27b6fc26038395a0b744ed08b0dd3e5a858b5b1683c46b9e6469c1411183d6f3672aef51463272d3c91769bc129bb1051d94c97a9a9241a02aacc195063697612ba8878bf273643f375a8a190abd2585f38219c8756bf48155333cd1b14a6b0e4690b5a874c97a1a644c99b582fe707825538263ad274c2296d76662e138cf1870148fb39f6a3205ba3f63caa413e63290d993ef17570b2747d7747e3e47e44c3bab476d4da1dc986de251ede50625c6385715c72833479589083b0a8b73ee91579f036fc9e6fdf5200eab0b0b1fea064b90b8423dbeaa834abd11e8a27ecf951e32bc9942c098acc967bbed92e85f0773d159f52ec8141717aab5cf3868a3e0a4265d1a0050fdcb94089d7d74ab77d307938b53675135bf9d7c6276a24513aa8da9d052e31266815ba0e4c75fbadc7ec721e32a3a168823b4d23ccadf987d2c3b68987aeda76e23b507a7560792e4428e71ae124416e3b57c132c416564256fdc93e88cd8bb3348611e5d9dd9727df3e24986e5c71e9331df327e26643029d95f75ea0e374ccbe7dfc7f806da15b3abab406cf503e6b9e3819ebdb754f418d51d5340285dcee08840c6602eb55d9adb511295e6999dc5ae1a6771a90a8f39fb7e38509b286610e45acf29564fb208992694bf09121c54d0c2a0e73ccc433021dc95a6aa090d854017b4981e3e47f5de85f33f827073e56bb444477bd4fa521eb5feac6520f69fef4b6528a8475adc276e320c03d3c1b18a5be5ae8a870afcefd955783caa4089b436d54f976169c864512945abdb0a4066b869db0b202c37875f09fc9722d44823e02807dc9b01615652d64943f18403f72126a63e5059ef0bf98b98b195dab79bfa691cdd1fa3bfabfb37a96c51445998b2225f6e20af66e51ed19bcc183af25c4948ef90c11536476d28ef85a078ecf694a15dff3d7276df5432cb5e686825f13e0bb8c8747a790b57361cb694525035bc7d971178216be06c07bb09af13b729fab31df4a77b085f4f009cfec37589a7bcc0310b8f1eca79adb5475f7445210f10256a8b4fb275c0fb6f84be021535cc188c33d6652393308acc608c244c0b524d06312d82f9c18a75cac5d599678c29f78770b31b35ec33c671a1d6e9d0b7d29907f0baaa7110477f9298b6fa54c4d47248bef21531fee6970dc3886c74b709cd74576ef47f34aa59b9ff2b5f36eb60ce95f83f443ee1067cb0f04994ef509700bea31be9c72df69e85deff03ca9955175de0be22324d4c54cb8a8d7eb8c6b53896eabf29fd2e2e0601fcd5e2a15da72f8612ce293e4171af06a3dc2c0e9ca1fd3bf7659121b50551024410754c1da2056b4d1d2c9ae9559f40c2f571c79ab154191a7184f6144e29f2ed82284345965c78da8224d15468d43a0ed34a8e5d686eb4c70c2043c975b91aab4b452d28a2aecedcbf7f688792143c98e18ce29e769378bae83400ffe5421fb3fa2aeafb25babfb03cbdbcf53fc3c665ee3caa4ce7f820debf6624cf12c7867ab4f23ea079728043bdfdda93ecdc263da2c38095db880a67fd3a0a0f83d9d69033fb51df6c4e14ef2b68469ee9a8061f1f22fe2537c5f63d3f9a20664f3889b3c30b4679ab7cae492b25e6b7074b17c189408d7fd02b67f44228eb979f769a776598be1e7f1e14a20aeb60858d3703991ea92bc53dd03662aecf8b959447f94994612f05bdc7a47a48be802cae90e9b4daea2de7180c21486dc1eb45e48c49ac1339cb5f4cd4b4883b21eadc331fc5bf06bc1ba08edf4b099b975b18c291c4bfaf4b3684f109ccb3057e97221da8857814b36b1f67ae66965139f974dfc930f32c33dd185af32b8a3309a0e06becfd29630de114f5d9d8b358b8c51b454060c42963c55108a8292b6ddd309d7cc80fe5eef9144db09edc0c9370739b8f5c61e440b8f94dae68bce1cd20cd3b99503a63b47f07a42d737f42712429d113b36edbb887af281cbf35aa597587542cc1da5f9d93c21812b36d68f49d362d3799e4cdbcde0461f119e95a0a7327d12eac3923e3d94fc8ebf37582978a1f0bdf47372ff954958b93d2c876a7ecb09111443843de83b1c7057c6bc0640fec76cb336ee8b7a48482fe75ece06b9f0f389ab016d62bcb008098e3be73b1384f18e3341b9aa1a81ac2cf14f21a33dad9ccc8c834a1ecbde7d8822c01314526339c7320ed95ee60d10d24d3fc84c2eb234e131f8c2565f4ce8e6d740e9c0e2a1eee0a5eda8052a65278706eb35ad82a0c2ef07f4f330fb7c02dc0bd6f364bb0a7a65797735a2a1c22b7fb7e7b9b8cfbf806afccf5437123566fe02722a515cd1fb27eb904348d9e7a2d5eec23bcff2e1a6995da195c1762d396203d9df5107d459a1bb23c8e52db333c8a92f62b66ce30230a5dd687913c73e0eafb81e6941583aaab053c6c1e34b8bc1700e3a1eadd2809b3e5665651f87acd51890f0811c85200c99af8fc4e24fd5d43b4c597e54ac6f3c2e2f5f829442355ad65692f085636aeaf34277c6eeaea809eac86c95e12bedc50e6ce3a44cd6d57920577a0eabe6f6e14c112c9021cc3a4a027a749f0c553e22c5cd4c7801b47e91a461b6946ae3007da5ccc9f5f30531a6321fc49bdf906510ecf1de03d6e46e158bb784ff23342cfbfb53ffe7e453cb1378c7074b5e3d3c44fdc10880e953c8a656214cdd5856fd8cfdfbf22774e3bb1620cb156aeb5ae8b9f7ce367426fb2700737a07c74c5495faaf59e42bfdcb3dc3e49680bd2411ac2622b982b876629e4db669e899bd96abf7f6c42163f8a892148a6dc4e0761501dfbe668f1ec26d8e62f964255c514af3cbd21c11fde0020978c8734697e981c7fc1a4fa958f113c0f10b11dba341c77fd8ca7afb1d62da6146f96bf74a22f28655be8570a55beb3d573142e1d547e1d9d238715c78fd95800295b7b1f8d9b5080b24c04f04db4e3c9200be70b59dc3c1e169b458c6b059d465e0726870955e7cbb7f133f86b60b0ecfd2294ae820d12e9862a6abf88583015f64ad6ab29cc000b98f4562cbc661ebfde39beb69be97f46e53c71fee8dfa3605d62e7d7b8f8d383f85b05241645dda92571a9c080cda4b8ea79fc360e95e823debb9279a681f33adffa28adfa7f0a7499ad80b4bb7ae77259d685c247aa1d256256022b8594e0198b75afb33996f96a486b4bf21c2614ced7ff1af690675337d353524183df7d4416d67ed881b19640d4297c44e6c3323832fd324d71c34dc6a207dd8389643f825b632e40ed490d9010f07d548926dad46a9855763f0e7acad556b519fa7d87d1828ade67bf09a6aa8a39648de7e09b1a1baa4853144b11277ee6a3cd5520cffe000b936ed18f5a4babc8362fde3f0496ffdf6da1e256e04f9884ecf3c040e962d05464ae8cf5afc31b6debc06a983a14ccaabd5948800bbee68583af7beecbaba3b903f11a2fc9bda779cb2d86e900ade0c4fb64556a5f40ca22ba67b9871fb28707593aa4547640df570a84ade950b2f01ff8a7f3373142010a2235978e3f374e695f9358843483887724d7b0f56caff94b97260275475c76fac1faa8cab2b34abb675d6543d75a6e73cfc706cd3f283ab5193db5358dd48a3d344f8501869563ca28bab39aa7292d4191795df324bfee9d7a6dcb776b5637ed3f84b6d943d6bad389419c17f5a96118ab7b2daab944f343a9bc67dfa03331bea3e225045f5dbe1640d864515a22d99ba1d7e9cc1e5ca5b0bc6a9c77a4c9e16b3dd95e07a55f7f57e9c35f952b5363c7a14071dddd0deae51cf388e5f6d91e978c785bbb19ed61d19b0b0d2c492ccace90dc8bb80ce147e8466ff7b87527c4cd00d5836db4b89f13bd67c40556", 0x1000, 0x4000, &(0x7f0000001400)=@l2={0x1f, 0x7, @any, 0xb2, 0x2}, 0x80) r4 = mq_open(&(0x7f0000001480)='\xaa\xaa\xaa\xaa\xaa', 0x40, 0x78, &(0x7f00000014c0)={0x4, 0x3, 0xffff, 0x7}) write(r4, &(0x7f0000001500)="f24d66b61501ed7648fa071e22636313bdc0aa27820af1f0c96d73df6ce98d7064d1c00a802f6c160d3d0cb0349d51b403c4e2b4c182df5babcaa81bd6d5c91aa9ef4fc8fdb4592e5babeed01b711c2b6efe1f755cad0289a6583c925bf163b19cb217fc29b61f2a3c294f79bfd3f1aab4aa08b4ba", 0x75) read(r4, &(0x7f0000001580)=""/205, 0xcd) utimensat(r2, &(0x7f0000001680)='./file0\x00', &(0x7f00000016c0)={{0x77359400}, {0x0, 0xea60}}, 0x0) r5 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r5, 0x8982, &(0x7f0000001700)={0x1, 'veth1_to_batadv\x00', {}, 0x4}) r6 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001740)='/sys/fs/cgroup', 0x101202, 0x4) ioctl$BTRFS_IOC_SET_FEATURES(r6, 0x40309439, &(0x7f0000001780)={0x1, 0x1, 0x4}) llistxattr(&(0x7f00000017c0)='./file0\x00', &(0x7f0000001800)=""/194, 0xc2) setsockopt$sock_timeval(r5, 0x1, 0x43, &(0x7f0000001900)={0x0, 0xea60}, 0x10) ioctl$sock_SIOCGIFVLAN_SET_VLAN_INGRESS_PRIORITY_CMD(0xffffffffffffffff, 0x8982, &(0x7f0000001980)={0x2, 'batadv_slave_1\x00', {0x1}, 0x8}) 01:42:46 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r0, 0x5412, &(0x7f00000008c0)=0x13) ioctl$TCSETSF2(r0, 0x402c542d, &(0x7f0000000080)={0xceb0, 0x0, 0x0, 0x0, 0x0, "fc8a53c6e3576fd607afff0800"}) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r1, 0x5412, &(0x7f0000001300)=0xd) 01:42:46 executing program 3: syz_mount_image$reiserfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000100), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='jdev=.']) [ 1128.966886][ T1565] REISERFS warning (device loop3): sh-2021 reiserfs_fill_super: can not find reiserfs on loop3 01:42:46 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r0, 0x5412, &(0x7f00000008c0)=0x13) ioctl$TCSETSF2(r0, 0x402c542d, &(0x7f0000000080)={0xceb0, 0x0, 0x0, 0x0, 0x0, "fc8a53c6e3576fd607afff0800"}) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCL_GETMOUSEREPORTING(r1, 0x5412, &(0x7f0000001300)=0xd) 01:42:46 executing program 1: r0 = syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x100000001, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54070f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[]) getdents64(r0, &(0x7f00000035c0)=""/4096, 0x1000) 01:42:46 executing program 0: syz_mount_image$squashfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f000010000000000004001400d0000200040000001e01000000000000f5020000000000009902000000000000dd020000000000000601000000000000d4010000000000004d020000000000008702000000000000fd377a585a0000016922de3602c01764210110000c14f5cae00063000f5d00399e4bacd2526994d512eda5bf000000004a5579b2000127640fa29cb09042990d010000000001595afd377a585a0000016922de3603c01c9a082101100000000093fc58dee0041900145d00399e4bacd2526994d51508fe16ca84a7aa3689df00988896660001309a080000002ec42d993e300d8b020000000001595a73797a6b616c6c657273cc00fd377a585a0000016922de3603c09401be022101020000002be6a37de0013d008c5d0001001eb04f262e3c2f422bdb8c111c2eea0ff1b7f87c3c98930ae9bef2e6cfbe86642d312630d1c1177c3f02eccf24fa6458574e2954843dbd6bc98680050321638c7a93375db1e71bae623d26e9096427e197374c50e829fa416bd93eb4fcf067eb650be21878e9ae58de233e584bfa0f44d85900daa964d53b67d7a1215e51928921aee72793826611b43c00e599fd790001a801be020000298353f53e300d8b020000000001595a7780010000000000000003000000240000000200040066696c6530480001000300040066696c6531040000000000000001000000000000000200080066696c652e636f6c64860001000100040066696c6530a60004000200040066696c6531e20005000200040066696c6532e20005000200040066696c653338800000000000000000860000000000000024000000000000004800000000000000a600000000000000e2000000000000001e010000000000004d0200000000000008805cf90100535f01008f02000000000000288000000600786174747231060000007861747472310000060078617474723206000000786174747232108000000000000000000200000024000000a1020000000000000100000000000000cb0200"/768, 0x300}], 0x0, &(0x7f0000010300)) [ 1129.023375][ T1572] loop1: detected capacity change from 0 to 264192 01:42:46 executing program 0: setsockopt$inet_sctp_SCTP_SOCKOPT_CONNECTX_OLD(0xffffffffffffffff, 0x84, 0x64, &(0x7f0000000000)=[@in={0x2, 0x2, @private}], 0x10) r0 = socket(0x2, 0x80805, 0x0) r1 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp_SCTP_DELAYED_SACK(r0, 0x84, 0x14, &(0x7f0000000340)=@assoc_value={r2}, 0x8) 01:42:46 executing program 2: r0 = syz_open_dev$vim2m(&(0x7f0000000000), 0x7, 0x2) ioctl$vim2m_VIDIOC_ENUM_FMT(r0, 0xc0405602, &(0x7f0000000080)={0x0, 0x1, 0x0, "ed983166375c3114aa0b7248b93ffeeea7895256a01ba56df8d5be9cceb4c0cf"}) 01:42:46 executing program 0: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'skcipher\x00', 0x0, 0x0, 'adiantum(xchacha20-simd,anubis-generic,nhpoly1305-sse2)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000300)="c99b57381801238c09d0ff0f1d0dbd301e5a47b2f3caa73dcd2a6a370554375a", 0x20) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000005700)=[{{0x0, 0x0, &(0x7f0000004200)=[{&(0x7f00000030c0)=""/4104, 0x1008}], 0x1}}], 0xe4, 0x0, 0x0) sendmsg$NL80211_CMD_SET_COALESCE(r1, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000b40)={0x1008, 0x0, 0x0, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_COALESCE_RULE_CONDITION={0x8}, @NL80211_ATTR_COALESCE_RULE_DELAY={0x8}, @NL80211_ATTR_COALESCE_RULE_CONDITION={0x8}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0x20, 0x3, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, @NL80211_PKTPAT_MASK={0x15, 0x1, "e776496d7dcc2d18f6e84434f67d2264a3"}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xc8, 0x3, 0x0, 0x1, [{0xc4, 0x0, 0x0, 0x1, @NL80211_PKTPAT_PATTERN={0xbd, 0x2, "54dcdcbef28ef37600cf9b6c93147c2101bd6fff031ca38e846ffd3963a0fc27fbb42f2f331278cfc66f4c6ab091066d86ac390ba0282c91f269fc38efff2a38cf97882a28363074b5ca34765dc5d50a3d33e6d6f704503cec36972217eb0fe4aaa71ebb1dd30190a3bedf658a6ff62a37d48c7cdf3289170ac3767842c5953ea396b0a2f0c1ef6507ae765543ff1be8bb1dc6ba40aee5ff44a60d5471352069306e92c36ed379a79f6a2e5e50812fa4a97793443552a1c0cf"}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xee0, 0x3, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8}}, {0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8}}, {0xec4, 0x0, 0x0, 0x1, @NL80211_PKTPAT_PATTERN={0xebd, 0x2, "1546a8bc7f5c12533a6982394a76f26ed9ca914042801abad503838d312110ecc5c85fa56317e75c777d409d67409e58c7de7b48bd7d2d8a3a8aa0d64a828469a534608f77eaaf95536181741ee00d851d4ea3fd9f60f91939962bf9100d7eb03125cf1d871578b730040f9334862eb3a6c66e2c41aa629d5d5e5fc4ba441fb6499bae6b64c1cd0e9c2a6f5751ae31bb6fd4adc955fc00dd8d40c20c2645b69ed1e368e8d33b3919cdd05a302d592d1ba911e443a069760e1af938c58757857abf506cb646f04925e4b3861a86a972172df2c3721188f52bf8f832706c4137632ddf1dad558cbaca1cb80c8c8a330307d117ec4d1da513bba3de72f618003923d870c2f137b691b2699ca2d9b657cd01b79e018009e413f36fd9aeb6f5c6dc01cfe63f408b40ab7e7bb1756d093ec7c647ef42e288644175cb09a0e6468a9018233d46db456b7db00b4db57cefd3ae42e4d4dd4ebff7b5c39e6dac9b0700f4f5fb67bb20cacc78f0027dcb2177327222791c54c4fa1a75d0c9420afffb163a706dfba24aeb333955145d2efb314e599bd74a581d6b68dd719d21996d91b44f2de36a88dcf8880e79ad54af0f77d7d7bc0c588fa1f4736366aabf3956681c58575378a86c6ec89fa782d0c46c3ce51c5a84fc84528d3df59a62d1ea1e3d9e9482fbd79ae12d2e5bf7bb9bb612d6f6b12d8e64b3a92935bf44e2267c8205cdf8994574ad9df00d670221aa8ce94c5cff540c948e89ac786577b1ae42b02d278dee6ae80c934378b78c9a0f43dc1545470ca5785ed385c1924c3f4a73113fddbba4c3a045f704df9da7caeef78e43a848d1eb7c640a22680b8fcf30014ea204efc3898c905dabd24bf02c20a6f611fa6fcebf8ca7fea1e5874ef4850afc42881e38ead8c1b8dbe176ed4e09df72409a6f024fe94460c818be73e0b434797eb5b7fed037dacf081afd30d21e95b84d9f396d7b8667273cf2a24710d84dbf1cf68708e2db7517b76d2b946bba526edc97d0ff1ec2a5e917d166fc05e2957eb05c9b65f53268e8135b4c91c4d2283bcd6e590456a8a0efdd2e0ce9377ea7dd578c958311f64d86e5634e8c153c57aadb32e8a2aa29b84d06661b81fc59701440d1d6bfa5784ad579f69e492b38c8c95a9f3fbae12e5a1e1c39a3af84cc80af1d4ca875ebc225b45f3f8cae054bd7fe4443e58cbbafee629d189a40863de4108e7ccb2141ae6e9cc1b41a752c7209b7a56f06a7618a0c9a42bec5bac9dbd79cbcedfc3eb5ffcd333e4c6302ff69f2143b094f65272dbb491d1c5742f6eff025fcd0b2933f96c589cb45c9c9c19631234c2cf89bd3ad859ac7bede9b9d7eb99db9429435d437a732f4b5e3a4c5dbf9c5f28f180024379f6f312c3df4d676ba4e8517083efac00c901d51267a5934dec6cc09f873af4e50d451f1cceab25e3fbaf01c9c3d6fde859978eca8b93de78d1eb42e49a1dba19841fa49caf94b4e92c0c7348a3c1a52962615a50e9e52c0c6adfa5c2c5bbc29cbd7136e90001b15560667ef213b917b0f884c78305f4a3bde56a6cf7936d99e6c4fea1f846ed581cedccc3ddc2b00684dde70041bbceb1326316d8ed1d7b5cf381b14262bcc236e2336df335e718f6e1d5012f94a5fca0db7ece104faa1b614d252f4d198a24d737a32f2f6ae12066d24c028bac42130ee7d33cd45a19e10a4a0e8f2d6d599f9c3e4d3283cf08127630b306c12ae0bbc4474ca98281053c17c3548177c04d729cfd83b4d11c702d9e5ef7a51a8198cfeb6e8fae8f51958273e20d5a9dbc4072f8dad5c7b8408c8aa8a1e59ee4f219e0848168d59298918c4d706c28c1a33b8918ba6aa143b362c7c51b84fae25dd35b39ebd6f589734a8ffc03cadf77ca11380e73f760a96c2218d2412df325f0054d344502475c1f378e4326aedb7586167ddf11836e33b528b2d262452b338ab99aa2d2baa0fb4df8755b8b653458c8618165b276702444e765000a5b112b3705704ec387dd51fed3f9fea8c3989b5a9cf2c4abcd5388a79e564dcc8329280809eee2572be75d7826ac2f4d0c2d9c3fb4a5f15fe0cb09967e34d7f41629c0d4b010c027b8a432ee4510b33fe4def32cd78e694e031b89467c6538eb073957a7e04401ce413459c77ef2f942e0c97a8ea107beedce5cb9b8859eeecc8ec1a72a4869d60b0fa89741fdb763024e518cdebbf1dc2e6cfd0ed5f5e4f6b09fb786fbff9948b5199392c3c5b631bc1ea7cec1ab4ab6dec428660d52e690c505afe1ef7fb475ead0c800209726fdef863d0ff49b2b213fe404011fe62576acce2da60129f4e6a10cd642cdc2e2cc6681e9b7d32f7e83deef2df9af1f9daebdfccf9532ad8d8dc0922c32e9f0a9f1bd7b820a2b38b6c5bf29f6cf75a7fbaaf72d8b2b915f40b0ba063a5b2c15384d12cb35116ef561fbc023efb520382d20fd240c7f47fe65d86466c9b82711cb3859a5588c8d96f702f385abda1a073c0298411473a9297859e80c236b3361dda26e1a4442e1dcc77ba4fd609f3af7d5c545557c75bca1bfef922aa2a6d3a98fe8fd5bbc3ef0c9e498234d93679f5463f826191f8c6d8a704928d7ef8e14120da85b420777c46e8c86dc79eaa012f1641529613929578186a9367d537a0b8fd6d89e1fa36c3252688f5bb299088cbb4fc8d38e7b2f19d52fbc9a0576aca29c2395d2c58fd0e18a32bf51424099b595980e415174478b2e595a5ac468a1343f0ba1799d7489a66abbf185313b885502d2fb1fa0a1720f786cfbc7f6761606f3eb1259d2a311321f2e52441839ff73def7aa923dfebfdaf9a834b6711f3dada583b896318cd4d0c964285ed49b1eaf8c11c5837ac08f91fde5ba8ad0e7aaae0405d4c630dc6f00abee24274b94daf989bfaa3587325c4cc0bf1e979c4ae8c5e71722d172e1ac3a62931fd06d343925087173ff171c90ef018a0c40c78081bcb017a3dd050c3c53ebf3be5c446135fa795af8af94a9af6808705ac800d3b22f05faa705f2dbb7da6f40746783370c0faa7ea3676fb6cda4ac38739ef449db06442e4217350b49db1bb14e1997045c928792e4359a5c7bc07ad2f7c8f4e5145f7bc7541ce91035e2c5d5382e833a76042acfc0a7198f53f95ae0a6d25d316c2f8c00c2814ca0961d3aa9acdfdc07860c3c6a87d07778a43b36f5cf6f1a5b07c2669b5e2c7be5d1df498d7723e46ace4d4b4431a555c6bf725e5724ba7b07751f498dcf410574fbc848c394d481a06d4299befd02515c7dce415c982a5196b0e031c6c2756aa89151aecc8f3287517b10f3081456ede229aa903af7869a155b4ae040cb2957a3aa37e6048d91fc919a88e8b2aff4e178a555dc45dbca7faf94a7d81bb902f3d78b8c3f84254838a01ea9f4db4ffc727888698a4ed29f1a3a0aa59f836bff139eb79799345bc1226bd93f7a3c445b26b168d45b54ea25f915186ea03fee363d1220ea5cf1af61b394f805b380f0b5560277c7796f1bb5720d3605daf36dd04a75b1b661ea3c596b65ce176f44e4410c7bca7b4ce743a25688aa223fd24d5d50485a3e7de65711afb4109d5a64ecafa0c360f038a3d84b9c859efd58fccddf19df7d2a3e5fec65f6036c87e2449d7ff287847435449b8b5a97a7613dbc08cfa5729e8ceca3a0a064411a9fd7dc58f0642a739af9e372f051b50f1094ab9e45d3b2b2f30ec899cc11a8b4d76ca5c445f9d735a81d909f5e89974fae8ecd88d0c150895143f06d275f4aa91e577241304550245c4b4e2bb1931165f5c127bcb2ee2ea2eafc9a1f4fd3435f03171372831bb48dc92195851341a41899472e194967531554c809b12e873f0f91b9a8ef82efec7a295aa7c9b03565c40e006a86f3810dece717fdd6aeec8e0ce0747e6acd97182a5deee5793093366c1235a15c194c4646d63c9af0dab6a31b31c51407e7a9dc18c50175af4bf6c4038c64ae81d5cfd6b636d570c26b760299b9cd19a3d75e7dd8c80ad52239a75222e888b4d5ea1098a4bf1dd2146782d093e3dbb58c704849adc572bc12cb0b7c03712b2608d4e635f9bd187117676b10025a64d650f41c8335115a338314d396b80e552bf6d9bae5af8e6ba275210ee6e9d95d8bcfda2d3f1edaadec2abebe103adae519f7bbe8d6a1d318ca80a3131e2258fde57e9a9507c94325f410b9552e9e4f43e23cca26b5ec63ddaf3771b4ec3cf14be7130ac21cb8e1aaa3d420ce1bd6e7ad72bbd36a6b68b9bd7ff00260441fc8e94066f96c19676725fa8cf0e8e7239c63e07d8e6c4ebfb3924aa6ab9c7c65d65e8a0c82dab52a923b16b0f9efdf11cb61b35a34f9dab665c6b0d762e0fed9c71d5553d7e847ae3fa5e1264468bc0864bd2af9fe5d10244ab2472e8d9f6569923d6cf5d255db13e19661847ae03d02d3b61912ecc892782babc9cdc27f2c196dd617d5a9a857363260f0bca3fcfa1d5b4722a56ad389ad637136997928401eaa52f29be9614f59e4c2f73dcfb8a6481785564b755ccbbc0b8e5e9c8f0fc8a002a74e1a5bd65c71abc69bcae268123eb7049c2b424d580ad81bcfc032621a05faf5182836a16c6df9f46d0db118f48abbcec4c7d46b4b6e0cd207db237b673a2e69fea2f1338eb7a3f7d9319313d649e0e0a60345281f046401453a503447fa4aafe6638932ea17d159175df85fa505bd0477d363e5e019f2abfc354828ff60db6451364a1173f4110d90611cd8a50cda319448e4e5c52eb62d8c8002c2659c8ce327f89106876e03203b77b1c40b87af3399864228acb1408c973c3b1e0b6ec7f7bdf0ccb8e16789915b15c48682b87e1c57eda5805e8e0ba3235c22a686b3da74eb09f3d8ac51b848936030cb5b38a76f28ecbc7205fe77c6e76eb0a05c8a13dd11d683bf0a813eb79119a80b1349db38a022f091c0199a1cddf326026a6ca39d559047d58279550b9ed4a3c92a286b26ebe1e31c50eac9ac698e0ca7f2cde8379eaef5138a261bf8fcb68933a6322f4851aa8bd7e561d07e888c44a1362f47c65f30a85ce1622a68220e8f8ed2874e3cecb09a4f1f5de570809912d48ca651a4177295809ec1b496701d03640fe70e4e202490a58a2db1810d92d160e86df62a989db4fe5d2c54b0aa7d68f9f601f06d50a654efb63b005dd6d7143e39e1d629401c5107434efc673d812c0a2fd6d07b41f2fa977f472e3a78cdf6c35049c5d3603fc5fd3e8e23fcc977c4eebefb71056ed967140cf7040f67210fa624ed760464fb429785f794d94b524eeda320403ceffeaf2637263d08855388c414711fe31e59cb57d8027a9ac971f0201fb5b3c632c063c172f5ea8b950"}}]}]}, 0x1008}}, 0x0) [ 1129.150681][ T1572] SQUASHFS error: zlib decompression failed, data probably corrupt 01:42:47 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000400)=@newtaction={0x8c, 0x30, 0xffff, 0x0, 0x0, {}, [{0x78, 0x1, [@m_police={0x74, 0x1, 0x0, 0x0, {{0xb}, {0x64, 0x2, 0x0, 0x1, [[@TCA_POLICE_RESULT={0x8, 0x5, 0x20000000}], [@TCA_POLICE_TBF={0x3c}]]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x8c}}, 0x0) [ 1129.163788][ T1572] SQUASHFS error: Failed to read block 0x140: -5 [ 1129.176507][ T166] Bluetooth: hci1: command 0x0419 tx timeout 01:42:47 executing program 3: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000580)=@raw={'raw\x00', 0x3c1, 0x3, 0x2c8, 0x0, 0xc8, 0x0, 0x0, 0x5803, 0x1f8, 0x2e8, 0x2e8, 0x1f8, 0x2e8, 0x3, 0x0, {[{{@ipv6={@remote, @ipv4={'\x00', '\xff\xff', @private}, [], [], 'bridge0\x00', 'veth0_to_team\x00'}, 0x0, 0xf8, 0x120, 0x0, {0x0, 0x2000000000000}, [@common=@unspec=@addrtype1={{0x28}, {0x0, 0x102}}, @common=@inet=@socket1={{0x28}}]}, @common=@inet=@SYNPROXY={0x28}}, {{@ipv6={@ipv4={'\x00', '\xff\xff', @remote}, @loopback, [], [], 'veth0_to_team\x00', 'netdevsim0\x00'}, 0x0, 0xa8, 0xd8}, @common=@inet=@SET2={0x30}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x328) [ 1129.184439][ T1572] SQUASHFS error: Unable to read metadata cache entry [13e] 01:42:47 executing program 0: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'skcipher\x00', 0x0, 0x0, 'adiantum(xchacha20-simd,anubis-generic,nhpoly1305-sse2)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000300)="c99b57381801238c09d0ff0f1d0dbd301e5a47b2f3caa73dcd2a6a370554375a", 0x20) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000005700)=[{{0x0, 0x0, &(0x7f0000004200)=[{&(0x7f00000030c0)=""/4104, 0x1008}], 0x1}}], 0xe4, 0x0, 0x0) sendmsg$NL80211_CMD_SET_COALESCE(r1, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000b40)={0x1008, 0x0, 0x0, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_COALESCE_RULE_CONDITION={0x8}, @NL80211_ATTR_COALESCE_RULE_DELAY={0x8}, @NL80211_ATTR_COALESCE_RULE_CONDITION={0x8}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0x20, 0x3, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, @NL80211_PKTPAT_MASK={0x15, 0x1, "e776496d7dcc2d18f6e84434f67d2264a3"}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xc8, 0x3, 0x0, 0x1, [{0xc4, 0x0, 0x0, 0x1, @NL80211_PKTPAT_PATTERN={0xbd, 0x2, "54dcdcbef28ef37600cf9b6c93147c2101bd6fff031ca38e846ffd3963a0fc27fbb42f2f331278cfc66f4c6ab091066d86ac390ba0282c91f269fc38efff2a38cf97882a28363074b5ca34765dc5d50a3d33e6d6f704503cec36972217eb0fe4aaa71ebb1dd30190a3bedf658a6ff62a37d48c7cdf3289170ac3767842c5953ea396b0a2f0c1ef6507ae765543ff1be8bb1dc6ba40aee5ff44a60d5471352069306e92c36ed379a79f6a2e5e50812fa4a97793443552a1c0cf"}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xee0, 0x3, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8}}, {0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8}}, {0xec4, 0x0, 0x0, 0x1, @NL80211_PKTPAT_PATTERN={0xebd, 0x2, "1546a8bc7f5c12533a6982394a76f26ed9ca914042801abad503838d312110ecc5c85fa56317e75c777d409d67409e58c7de7b48bd7d2d8a3a8aa0d64a828469a534608f77eaaf95536181741ee00d851d4ea3fd9f60f91939962bf9100d7eb03125cf1d871578b730040f9334862eb3a6c66e2c41aa629d5d5e5fc4ba441fb6499bae6b64c1cd0e9c2a6f5751ae31bb6fd4adc955fc00dd8d40c20c2645b69ed1e368e8d33b3919cdd05a302d592d1ba911e443a069760e1af938c58757857abf506cb646f04925e4b3861a86a972172df2c3721188f52bf8f832706c4137632ddf1dad558cbaca1cb80c8c8a330307d117ec4d1da513bba3de72f618003923d870c2f137b691b2699ca2d9b657cd01b79e018009e413f36fd9aeb6f5c6dc01cfe63f408b40ab7e7bb1756d093ec7c647ef42e288644175cb09a0e6468a9018233d46db456b7db00b4db57cefd3ae42e4d4dd4ebff7b5c39e6dac9b0700f4f5fb67bb20cacc78f0027dcb2177327222791c54c4fa1a75d0c9420afffb163a706dfba24aeb333955145d2efb314e599bd74a581d6b68dd719d21996d91b44f2de36a88dcf8880e79ad54af0f77d7d7bc0c588fa1f4736366aabf3956681c58575378a86c6ec89fa782d0c46c3ce51c5a84fc84528d3df59a62d1ea1e3d9e9482fbd79ae12d2e5bf7bb9bb612d6f6b12d8e64b3a92935bf44e2267c8205cdf8994574ad9df00d670221aa8ce94c5cff540c948e89ac786577b1ae42b02d278dee6ae80c934378b78c9a0f43dc1545470ca5785ed385c1924c3f4a73113fddbba4c3a045f704df9da7caeef78e43a848d1eb7c640a22680b8fcf30014ea204efc3898c905dabd24bf02c20a6f611fa6fcebf8ca7fea1e5874ef4850afc42881e38ead8c1b8dbe176ed4e09df72409a6f024fe94460c818be73e0b434797eb5b7fed037dacf081afd30d21e95b84d9f396d7b8667273cf2a24710d84dbf1cf68708e2db7517b76d2b946bba526edc97d0ff1ec2a5e917d166fc05e2957eb05c9b65f53268e8135b4c91c4d2283bcd6e590456a8a0efdd2e0ce9377ea7dd578c958311f64d86e5634e8c153c57aadb32e8a2aa29b84d06661b81fc59701440d1d6bfa5784ad579f69e492b38c8c95a9f3fbae12e5a1e1c39a3af84cc80af1d4ca875ebc225b45f3f8cae054bd7fe4443e58cbbafee629d189a40863de4108e7ccb2141ae6e9cc1b41a752c7209b7a56f06a7618a0c9a42bec5bac9dbd79cbcedfc3eb5ffcd333e4c6302ff69f2143b094f65272dbb491d1c5742f6eff025fcd0b2933f96c589cb45c9c9c19631234c2cf89bd3ad859ac7bede9b9d7eb99db9429435d437a732f4b5e3a4c5dbf9c5f28f180024379f6f312c3df4d676ba4e8517083efac00c901d51267a5934dec6cc09f873af4e50d451f1cceab25e3fbaf01c9c3d6fde859978eca8b93de78d1eb42e49a1dba19841fa49caf94b4e92c0c7348a3c1a52962615a50e9e52c0c6adfa5c2c5bbc29cbd7136e90001b15560667ef213b917b0f884c78305f4a3bde56a6cf7936d99e6c4fea1f846ed581cedccc3ddc2b00684dde70041bbceb1326316d8ed1d7b5cf381b14262bcc236e2336df335e718f6e1d5012f94a5fca0db7ece104faa1b614d252f4d198a24d737a32f2f6ae12066d24c028bac42130ee7d33cd45a19e10a4a0e8f2d6d599f9c3e4d3283cf08127630b306c12ae0bbc4474ca98281053c17c3548177c04d729cfd83b4d11c702d9e5ef7a51a8198cfeb6e8fae8f51958273e20d5a9dbc4072f8dad5c7b8408c8aa8a1e59ee4f219e0848168d59298918c4d706c28c1a33b8918ba6aa143b362c7c51b84fae25dd35b39ebd6f589734a8ffc03cadf77ca11380e73f760a96c2218d2412df325f0054d344502475c1f378e4326aedb7586167ddf11836e33b528b2d262452b338ab99aa2d2baa0fb4df8755b8b653458c8618165b276702444e765000a5b112b3705704ec387dd51fed3f9fea8c3989b5a9cf2c4abcd5388a79e564dcc8329280809eee2572be75d7826ac2f4d0c2d9c3fb4a5f15fe0cb09967e34d7f41629c0d4b010c027b8a432ee4510b33fe4def32cd78e694e031b89467c6538eb073957a7e04401ce413459c77ef2f942e0c97a8ea107beedce5cb9b8859eeecc8ec1a72a4869d60b0fa89741fdb763024e518cdebbf1dc2e6cfd0ed5f5e4f6b09fb786fbff9948b5199392c3c5b631bc1ea7cec1ab4ab6dec428660d52e690c505afe1ef7fb475ead0c800209726fdef863d0ff49b2b213fe404011fe62576acce2da60129f4e6a10cd642cdc2e2cc6681e9b7d32f7e83deef2df9af1f9daebdfccf9532ad8d8dc0922c32e9f0a9f1bd7b820a2b38b6c5bf29f6cf75a7fbaaf72d8b2b915f40b0ba063a5b2c15384d12cb35116ef561fbc023efb520382d20fd240c7f47fe65d86466c9b82711cb3859a5588c8d96f702f385abda1a073c0298411473a9297859e80c236b3361dda26e1a4442e1dcc77ba4fd609f3af7d5c545557c75bca1bfef922aa2a6d3a98fe8fd5bbc3ef0c9e498234d93679f5463f826191f8c6d8a704928d7ef8e14120da85b420777c46e8c86dc79eaa012f1641529613929578186a9367d537a0b8fd6d89e1fa36c3252688f5bb299088cbb4fc8d38e7b2f19d52fbc9a0576aca29c2395d2c58fd0e18a32bf51424099b595980e415174478b2e595a5ac468a1343f0ba1799d7489a66abbf185313b885502d2fb1fa0a1720f786cfbc7f6761606f3eb1259d2a311321f2e52441839ff73def7aa923dfebfdaf9a834b6711f3dada583b896318cd4d0c964285ed49b1eaf8c11c5837ac08f91fde5ba8ad0e7aaae0405d4c630dc6f00abee24274b94daf989bfaa3587325c4cc0bf1e979c4ae8c5e71722d172e1ac3a62931fd06d343925087173ff171c90ef018a0c40c78081bcb017a3dd050c3c53ebf3be5c446135fa795af8af94a9af6808705ac800d3b22f05faa705f2dbb7da6f40746783370c0faa7ea3676fb6cda4ac38739ef449db06442e4217350b49db1bb14e1997045c928792e4359a5c7bc07ad2f7c8f4e5145f7bc7541ce91035e2c5d5382e833a76042acfc0a7198f53f95ae0a6d25d316c2f8c00c2814ca0961d3aa9acdfdc07860c3c6a87d07778a43b36f5cf6f1a5b07c2669b5e2c7be5d1df498d7723e46ace4d4b4431a555c6bf725e5724ba7b07751f498dcf410574fbc848c394d481a06d4299befd02515c7dce415c982a5196b0e031c6c2756aa89151aecc8f3287517b10f3081456ede229aa903af7869a155b4ae040cb2957a3aa37e6048d91fc919a88e8b2aff4e178a555dc45dbca7faf94a7d81bb902f3d78b8c3f84254838a01ea9f4db4ffc727888698a4ed29f1a3a0aa59f836bff139eb79799345bc1226bd93f7a3c445b26b168d45b54ea25f915186ea03fee363d1220ea5cf1af61b394f805b380f0b5560277c7796f1bb5720d3605daf36dd04a75b1b661ea3c596b65ce176f44e4410c7bca7b4ce743a25688aa223fd24d5d50485a3e7de65711afb4109d5a64ecafa0c360f038a3d84b9c859efd58fccddf19df7d2a3e5fec65f6036c87e2449d7ff287847435449b8b5a97a7613dbc08cfa5729e8ceca3a0a064411a9fd7dc58f0642a739af9e372f051b50f1094ab9e45d3b2b2f30ec899cc11a8b4d76ca5c445f9d735a81d909f5e89974fae8ecd88d0c150895143f06d275f4aa91e577241304550245c4b4e2bb1931165f5c127bcb2ee2ea2eafc9a1f4fd3435f03171372831bb48dc92195851341a41899472e194967531554c809b12e873f0f91b9a8ef82efec7a295aa7c9b03565c40e006a86f3810dece717fdd6aeec8e0ce0747e6acd97182a5deee5793093366c1235a15c194c4646d63c9af0dab6a31b31c51407e7a9dc18c50175af4bf6c4038c64ae81d5cfd6b636d570c26b760299b9cd19a3d75e7dd8c80ad52239a75222e888b4d5ea1098a4bf1dd2146782d093e3dbb58c704849adc572bc12cb0b7c03712b2608d4e635f9bd187117676b10025a64d650f41c8335115a338314d396b80e552bf6d9bae5af8e6ba275210ee6e9d95d8bcfda2d3f1edaadec2abebe103adae519f7bbe8d6a1d318ca80a3131e2258fde57e9a9507c94325f410b9552e9e4f43e23cca26b5ec63ddaf3771b4ec3cf14be7130ac21cb8e1aaa3d420ce1bd6e7ad72bbd36a6b68b9bd7ff00260441fc8e94066f96c19676725fa8cf0e8e7239c63e07d8e6c4ebfb3924aa6ab9c7c65d65e8a0c82dab52a923b16b0f9efdf11cb61b35a34f9dab665c6b0d762e0fed9c71d5553d7e847ae3fa5e1264468bc0864bd2af9fe5d10244ab2472e8d9f6569923d6cf5d255db13e19661847ae03d02d3b61912ecc892782babc9cdc27f2c196dd617d5a9a857363260f0bca3fcfa1d5b4722a56ad389ad637136997928401eaa52f29be9614f59e4c2f73dcfb8a6481785564b755ccbbc0b8e5e9c8f0fc8a002a74e1a5bd65c71abc69bcae268123eb7049c2b424d580ad81bcfc032621a05faf5182836a16c6df9f46d0db118f48abbcec4c7d46b4b6e0cd207db237b673a2e69fea2f1338eb7a3f7d9319313d649e0e0a60345281f046401453a503447fa4aafe6638932ea17d159175df85fa505bd0477d363e5e019f2abfc354828ff60db6451364a1173f4110d90611cd8a50cda319448e4e5c52eb62d8c8002c2659c8ce327f89106876e03203b77b1c40b87af3399864228acb1408c973c3b1e0b6ec7f7bdf0ccb8e16789915b15c48682b87e1c57eda5805e8e0ba3235c22a686b3da74eb09f3d8ac51b848936030cb5b38a76f28ecbc7205fe77c6e76eb0a05c8a13dd11d683bf0a813eb79119a80b1349db38a022f091c0199a1cddf326026a6ca39d559047d58279550b9ed4a3c92a286b26ebe1e31c50eac9ac698e0ca7f2cde8379eaef5138a261bf8fcb68933a6322f4851aa8bd7e561d07e888c44a1362f47c65f30a85ce1622a68220e8f8ed2874e3cecb09a4f1f5de570809912d48ca651a4177295809ec1b496701d03640fe70e4e202490a58a2db1810d92d160e86df62a989db4fe5d2c54b0aa7d68f9f601f06d50a654efb63b005dd6d7143e39e1d629401c5107434efc673d812c0a2fd6d07b41f2fa977f472e3a78cdf6c35049c5d3603fc5fd3e8e23fcc977c4eebefb71056ed967140cf7040f67210fa624ed760464fb429785f794d94b524eeda320403ceffeaf2637263d08855388c414711fe31e59cb57d8027a9ac971f0201fb5b3c632c063c172f5ea8b950"}}]}]}, 0x1008}}, 0x0) [ 1129.210855][ T1572] SQUASHFS error: Unable to read directory block [13e:26] 01:42:47 executing program 1: r0 = syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x100000001, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54070f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[]) getdents64(r0, &(0x7f00000035c0)=""/4096, 0x1000) [ 1129.228140][ T1587] xt_addrtype: ipv6 PROHIBIT (THROW, NAT ..) matching not supported 01:42:47 executing program 3: r0 = syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x100000001, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54070f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[]) getdents64(r0, &(0x7f00000035c0)=""/4096, 0x1000) 01:42:47 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000400)=@newtaction={0x8c, 0x30, 0xffff, 0x0, 0x0, {}, [{0x78, 0x1, [@m_police={0x74, 0x1, 0x0, 0x0, {{0xb}, {0x64, 0x2, 0x0, 0x1, [[@TCA_POLICE_RESULT={0x8, 0x5, 0x20000000}], [@TCA_POLICE_TBF={0x3c}]]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x8c}}, 0x0) [ 1129.287046][ T1597] loop3: detected capacity change from 0 to 264192 01:42:47 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000400)=@newtaction={0x8c, 0x30, 0xffff, 0x0, 0x0, {}, [{0x78, 0x1, [@m_police={0x74, 0x1, 0x0, 0x0, {{0xb}, {0x64, 0x2, 0x0, 0x1, [[@TCA_POLICE_RESULT={0x8, 0x5, 0x20000000}], [@TCA_POLICE_TBF={0x3c}]]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x8c}}, 0x0) [ 1129.319096][ T1602] loop1: detected capacity change from 0 to 264192 01:42:47 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000400)=@newtaction={0x8c, 0x30, 0xffff, 0x0, 0x0, {}, [{0x78, 0x1, [@m_police={0x74, 0x1, 0x0, 0x0, {{0xb}, {0x64, 0x2, 0x0, 0x1, [[@TCA_POLICE_RESULT={0x8, 0x5, 0x20000000}], [@TCA_POLICE_TBF={0x3c}]]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x8c}}, 0x0) [ 1129.351697][ T1597] SQUASHFS error: zlib decompression failed, data probably corrupt 01:42:47 executing program 0: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'skcipher\x00', 0x0, 0x0, 'adiantum(xchacha20-simd,anubis-generic,nhpoly1305-sse2)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000300)="c99b57381801238c09d0ff0f1d0dbd301e5a47b2f3caa73dcd2a6a370554375a", 0x20) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000005700)=[{{0x0, 0x0, &(0x7f0000004200)=[{&(0x7f00000030c0)=""/4104, 0x1008}], 0x1}}], 0xe4, 0x0, 0x0) sendmsg$NL80211_CMD_SET_COALESCE(r1, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000b40)={0x1008, 0x0, 0x0, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_COALESCE_RULE_CONDITION={0x8}, @NL80211_ATTR_COALESCE_RULE_DELAY={0x8}, @NL80211_ATTR_COALESCE_RULE_CONDITION={0x8}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0x20, 0x3, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, @NL80211_PKTPAT_MASK={0x15, 0x1, "e776496d7dcc2d18f6e84434f67d2264a3"}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xc8, 0x3, 0x0, 0x1, [{0xc4, 0x0, 0x0, 0x1, @NL80211_PKTPAT_PATTERN={0xbd, 0x2, "54dcdcbef28ef37600cf9b6c93147c2101bd6fff031ca38e846ffd3963a0fc27fbb42f2f331278cfc66f4c6ab091066d86ac390ba0282c91f269fc38efff2a38cf97882a28363074b5ca34765dc5d50a3d33e6d6f704503cec36972217eb0fe4aaa71ebb1dd30190a3bedf658a6ff62a37d48c7cdf3289170ac3767842c5953ea396b0a2f0c1ef6507ae765543ff1be8bb1dc6ba40aee5ff44a60d5471352069306e92c36ed379a79f6a2e5e50812fa4a97793443552a1c0cf"}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xee0, 0x3, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8}}, {0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8}}, {0xec4, 0x0, 0x0, 0x1, @NL80211_PKTPAT_PATTERN={0xebd, 0x2, "1546a8bc7f5c12533a6982394a76f26ed9ca914042801abad503838d312110ecc5c85fa56317e75c777d409d67409e58c7de7b48bd7d2d8a3a8aa0d64a828469a534608f77eaaf95536181741ee00d851d4ea3fd9f60f91939962bf9100d7eb03125cf1d871578b730040f9334862eb3a6c66e2c41aa629d5d5e5fc4ba441fb6499bae6b64c1cd0e9c2a6f5751ae31bb6fd4adc955fc00dd8d40c20c2645b69ed1e368e8d33b3919cdd05a302d592d1ba911e443a069760e1af938c58757857abf506cb646f04925e4b3861a86a972172df2c3721188f52bf8f832706c4137632ddf1dad558cbaca1cb80c8c8a330307d117ec4d1da513bba3de72f618003923d870c2f137b691b2699ca2d9b657cd01b79e018009e413f36fd9aeb6f5c6dc01cfe63f408b40ab7e7bb1756d093ec7c647ef42e288644175cb09a0e6468a9018233d46db456b7db00b4db57cefd3ae42e4d4dd4ebff7b5c39e6dac9b0700f4f5fb67bb20cacc78f0027dcb2177327222791c54c4fa1a75d0c9420afffb163a706dfba24aeb333955145d2efb314e599bd74a581d6b68dd719d21996d91b44f2de36a88dcf8880e79ad54af0f77d7d7bc0c588fa1f4736366aabf3956681c58575378a86c6ec89fa782d0c46c3ce51c5a84fc84528d3df59a62d1ea1e3d9e9482fbd79ae12d2e5bf7bb9bb612d6f6b12d8e64b3a92935bf44e2267c8205cdf8994574ad9df00d670221aa8ce94c5cff540c948e89ac786577b1ae42b02d278dee6ae80c934378b78c9a0f43dc1545470ca5785ed385c1924c3f4a73113fddbba4c3a045f704df9da7caeef78e43a848d1eb7c640a22680b8fcf30014ea204efc3898c905dabd24bf02c20a6f611fa6fcebf8ca7fea1e5874ef4850afc42881e38ead8c1b8dbe176ed4e09df72409a6f024fe94460c818be73e0b434797eb5b7fed037dacf081afd30d21e95b84d9f396d7b8667273cf2a24710d84dbf1cf68708e2db7517b76d2b946bba526edc97d0ff1ec2a5e917d166fc05e2957eb05c9b65f53268e8135b4c91c4d2283bcd6e590456a8a0efdd2e0ce9377ea7dd578c958311f64d86e5634e8c153c57aadb32e8a2aa29b84d06661b81fc59701440d1d6bfa5784ad579f69e492b38c8c95a9f3fbae12e5a1e1c39a3af84cc80af1d4ca875ebc225b45f3f8cae054bd7fe4443e58cbbafee629d189a40863de4108e7ccb2141ae6e9cc1b41a752c7209b7a56f06a7618a0c9a42bec5bac9dbd79cbcedfc3eb5ffcd333e4c6302ff69f2143b094f65272dbb491d1c5742f6eff025fcd0b2933f96c589cb45c9c9c19631234c2cf89bd3ad859ac7bede9b9d7eb99db9429435d437a732f4b5e3a4c5dbf9c5f28f180024379f6f312c3df4d676ba4e8517083efac00c901d51267a5934dec6cc09f873af4e50d451f1cceab25e3fbaf01c9c3d6fde859978eca8b93de78d1eb42e49a1dba19841fa49caf94b4e92c0c7348a3c1a52962615a50e9e52c0c6adfa5c2c5bbc29cbd7136e90001b15560667ef213b917b0f884c78305f4a3bde56a6cf7936d99e6c4fea1f846ed581cedccc3ddc2b00684dde70041bbceb1326316d8ed1d7b5cf381b14262bcc236e2336df335e718f6e1d5012f94a5fca0db7ece104faa1b614d252f4d198a24d737a32f2f6ae12066d24c028bac42130ee7d33cd45a19e10a4a0e8f2d6d599f9c3e4d3283cf08127630b306c12ae0bbc4474ca98281053c17c3548177c04d729cfd83b4d11c702d9e5ef7a51a8198cfeb6e8fae8f51958273e20d5a9dbc4072f8dad5c7b8408c8aa8a1e59ee4f219e0848168d59298918c4d706c28c1a33b8918ba6aa143b362c7c51b84fae25dd35b39ebd6f589734a8ffc03cadf77ca11380e73f760a96c2218d2412df325f0054d344502475c1f378e4326aedb7586167ddf11836e33b528b2d262452b338ab99aa2d2baa0fb4df8755b8b653458c8618165b276702444e765000a5b112b3705704ec387dd51fed3f9fea8c3989b5a9cf2c4abcd5388a79e564dcc8329280809eee2572be75d7826ac2f4d0c2d9c3fb4a5f15fe0cb09967e34d7f41629c0d4b010c027b8a432ee4510b33fe4def32cd78e694e031b89467c6538eb073957a7e04401ce413459c77ef2f942e0c97a8ea107beedce5cb9b8859eeecc8ec1a72a4869d60b0fa89741fdb763024e518cdebbf1dc2e6cfd0ed5f5e4f6b09fb786fbff9948b5199392c3c5b631bc1ea7cec1ab4ab6dec428660d52e690c505afe1ef7fb475ead0c800209726fdef863d0ff49b2b213fe404011fe62576acce2da60129f4e6a10cd642cdc2e2cc6681e9b7d32f7e83deef2df9af1f9daebdfccf9532ad8d8dc0922c32e9f0a9f1bd7b820a2b38b6c5bf29f6cf75a7fbaaf72d8b2b915f40b0ba063a5b2c15384d12cb35116ef561fbc023efb520382d20fd240c7f47fe65d86466c9b82711cb3859a5588c8d96f702f385abda1a073c0298411473a9297859e80c236b3361dda26e1a4442e1dcc77ba4fd609f3af7d5c545557c75bca1bfef922aa2a6d3a98fe8fd5bbc3ef0c9e498234d93679f5463f826191f8c6d8a704928d7ef8e14120da85b420777c46e8c86dc79eaa012f1641529613929578186a9367d537a0b8fd6d89e1fa36c3252688f5bb299088cbb4fc8d38e7b2f19d52fbc9a0576aca29c2395d2c58fd0e18a32bf51424099b595980e415174478b2e595a5ac468a1343f0ba1799d7489a66abbf185313b885502d2fb1fa0a1720f786cfbc7f6761606f3eb1259d2a311321f2e52441839ff73def7aa923dfebfdaf9a834b6711f3dada583b896318cd4d0c964285ed49b1eaf8c11c5837ac08f91fde5ba8ad0e7aaae0405d4c630dc6f00abee24274b94daf989bfaa3587325c4cc0bf1e979c4ae8c5e71722d172e1ac3a62931fd06d343925087173ff171c90ef018a0c40c78081bcb017a3dd050c3c53ebf3be5c446135fa795af8af94a9af6808705ac800d3b22f05faa705f2dbb7da6f40746783370c0faa7ea3676fb6cda4ac38739ef449db06442e4217350b49db1bb14e1997045c928792e4359a5c7bc07ad2f7c8f4e5145f7bc7541ce91035e2c5d5382e833a76042acfc0a7198f53f95ae0a6d25d316c2f8c00c2814ca0961d3aa9acdfdc07860c3c6a87d07778a43b36f5cf6f1a5b07c2669b5e2c7be5d1df498d7723e46ace4d4b4431a555c6bf725e5724ba7b07751f498dcf410574fbc848c394d481a06d4299befd02515c7dce415c982a5196b0e031c6c2756aa89151aecc8f3287517b10f3081456ede229aa903af7869a155b4ae040cb2957a3aa37e6048d91fc919a88e8b2aff4e178a555dc45dbca7faf94a7d81bb902f3d78b8c3f84254838a01ea9f4db4ffc727888698a4ed29f1a3a0aa59f836bff139eb79799345bc1226bd93f7a3c445b26b168d45b54ea25f915186ea03fee363d1220ea5cf1af61b394f805b380f0b5560277c7796f1bb5720d3605daf36dd04a75b1b661ea3c596b65ce176f44e4410c7bca7b4ce743a25688aa223fd24d5d50485a3e7de65711afb4109d5a64ecafa0c360f038a3d84b9c859efd58fccddf19df7d2a3e5fec65f6036c87e2449d7ff287847435449b8b5a97a7613dbc08cfa5729e8ceca3a0a064411a9fd7dc58f0642a739af9e372f051b50f1094ab9e45d3b2b2f30ec899cc11a8b4d76ca5c445f9d735a81d909f5e89974fae8ecd88d0c150895143f06d275f4aa91e577241304550245c4b4e2bb1931165f5c127bcb2ee2ea2eafc9a1f4fd3435f03171372831bb48dc92195851341a41899472e194967531554c809b12e873f0f91b9a8ef82efec7a295aa7c9b03565c40e006a86f3810dece717fdd6aeec8e0ce0747e6acd97182a5deee5793093366c1235a15c194c4646d63c9af0dab6a31b31c51407e7a9dc18c50175af4bf6c4038c64ae81d5cfd6b636d570c26b760299b9cd19a3d75e7dd8c80ad52239a75222e888b4d5ea1098a4bf1dd2146782d093e3dbb58c704849adc572bc12cb0b7c03712b2608d4e635f9bd187117676b10025a64d650f41c8335115a338314d396b80e552bf6d9bae5af8e6ba275210ee6e9d95d8bcfda2d3f1edaadec2abebe103adae519f7bbe8d6a1d318ca80a3131e2258fde57e9a9507c94325f410b9552e9e4f43e23cca26b5ec63ddaf3771b4ec3cf14be7130ac21cb8e1aaa3d420ce1bd6e7ad72bbd36a6b68b9bd7ff00260441fc8e94066f96c19676725fa8cf0e8e7239c63e07d8e6c4ebfb3924aa6ab9c7c65d65e8a0c82dab52a923b16b0f9efdf11cb61b35a34f9dab665c6b0d762e0fed9c71d5553d7e847ae3fa5e1264468bc0864bd2af9fe5d10244ab2472e8d9f6569923d6cf5d255db13e19661847ae03d02d3b61912ecc892782babc9cdc27f2c196dd617d5a9a857363260f0bca3fcfa1d5b4722a56ad389ad637136997928401eaa52f29be9614f59e4c2f73dcfb8a6481785564b755ccbbc0b8e5e9c8f0fc8a002a74e1a5bd65c71abc69bcae268123eb7049c2b424d580ad81bcfc032621a05faf5182836a16c6df9f46d0db118f48abbcec4c7d46b4b6e0cd207db237b673a2e69fea2f1338eb7a3f7d9319313d649e0e0a60345281f046401453a503447fa4aafe6638932ea17d159175df85fa505bd0477d363e5e019f2abfc354828ff60db6451364a1173f4110d90611cd8a50cda319448e4e5c52eb62d8c8002c2659c8ce327f89106876e03203b77b1c40b87af3399864228acb1408c973c3b1e0b6ec7f7bdf0ccb8e16789915b15c48682b87e1c57eda5805e8e0ba3235c22a686b3da74eb09f3d8ac51b848936030cb5b38a76f28ecbc7205fe77c6e76eb0a05c8a13dd11d683bf0a813eb79119a80b1349db38a022f091c0199a1cddf326026a6ca39d559047d58279550b9ed4a3c92a286b26ebe1e31c50eac9ac698e0ca7f2cde8379eaef5138a261bf8fcb68933a6322f4851aa8bd7e561d07e888c44a1362f47c65f30a85ce1622a68220e8f8ed2874e3cecb09a4f1f5de570809912d48ca651a4177295809ec1b496701d03640fe70e4e202490a58a2db1810d92d160e86df62a989db4fe5d2c54b0aa7d68f9f601f06d50a654efb63b005dd6d7143e39e1d629401c5107434efc673d812c0a2fd6d07b41f2fa977f472e3a78cdf6c35049c5d3603fc5fd3e8e23fcc977c4eebefb71056ed967140cf7040f67210fa624ed760464fb429785f794d94b524eeda320403ceffeaf2637263d08855388c414711fe31e59cb57d8027a9ac971f0201fb5b3c632c063c172f5ea8b950"}}]}]}, 0x1008}}, 0x0) [ 1129.374743][ T1602] SQUASHFS error: zlib decompression failed, data probably corrupt [ 1129.384393][ T1602] SQUASHFS error: Failed to read block 0x140: -5 [ 1129.386329][ T1597] SQUASHFS error: Failed to read block 0x140: -5 01:42:47 executing program 2: seccomp$SECCOMP_SET_MODE_FILTER(0x1, 0x0, &(0x7f0000000040)={0x1, &(0x7f00000000c0)=[{0x6, 0x0, 0x0, 0x7fff0008}]}) rt_sigaction(0x5, 0x0, 0x0, 0x8, &(0x7f0000000240)) [ 1129.403221][ T1597] SQUASHFS error: Unable to read metadata cache entry [13e] [ 1129.407809][ T1602] SQUASHFS error: Unable to read metadata cache entry [13e] [ 1129.414284][ T1597] SQUASHFS error: Unable to read directory block [13e:26] [ 1129.422709][ T1602] SQUASHFS error: Unable to read directory block [13e:26] 01:42:47 executing program 1: r0 = syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x100000001, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54070f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[]) getdents64(r0, &(0x7f00000035c0)=""/4096, 0x1000) 01:42:47 executing program 2: socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000002dc0)={0xffffffffffffffff}) setsockopt$sock_attach_bpf(r0, 0x1, 0x46, &(0x7f0000002e00), 0x4) 01:42:47 executing program 3: r0 = syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x100000001, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54070f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[]) getdents64(r0, &(0x7f00000035c0)=""/4096, 0x1000) 01:42:47 executing program 0: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'skcipher\x00', 0x0, 0x0, 'adiantum(xchacha20-simd,anubis-generic,nhpoly1305-sse2)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000300)="c99b57381801238c09d0ff0f1d0dbd301e5a47b2f3caa73dcd2a6a370554375a", 0x20) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000005700)=[{{0x0, 0x0, &(0x7f0000004200)=[{&(0x7f00000030c0)=""/4104, 0x1008}], 0x1}}], 0xe4, 0x0, 0x0) sendmsg$NL80211_CMD_SET_COALESCE(r1, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000b40)={0x1008, 0x0, 0x0, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_COALESCE_RULE_CONDITION={0x8}, @NL80211_ATTR_COALESCE_RULE_DELAY={0x8}, @NL80211_ATTR_COALESCE_RULE_CONDITION={0x8}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0x20, 0x3, 0x0, 0x1, [{0x1c, 0x0, 0x0, 0x1, @NL80211_PKTPAT_MASK={0x15, 0x1, "e776496d7dcc2d18f6e84434f67d2264a3"}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xc8, 0x3, 0x0, 0x1, [{0xc4, 0x0, 0x0, 0x1, @NL80211_PKTPAT_PATTERN={0xbd, 0x2, "54dcdcbef28ef37600cf9b6c93147c2101bd6fff031ca38e846ffd3963a0fc27fbb42f2f331278cfc66f4c6ab091066d86ac390ba0282c91f269fc38efff2a38cf97882a28363074b5ca34765dc5d50a3d33e6d6f704503cec36972217eb0fe4aaa71ebb1dd30190a3bedf658a6ff62a37d48c7cdf3289170ac3767842c5953ea396b0a2f0c1ef6507ae765543ff1be8bb1dc6ba40aee5ff44a60d5471352069306e92c36ed379a79f6a2e5e50812fa4a97793443552a1c0cf"}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xee0, 0x3, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8}}, {0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8}}, {0xec4, 0x0, 0x0, 0x1, @NL80211_PKTPAT_PATTERN={0xebd, 0x2, "1546a8bc7f5c12533a6982394a76f26ed9ca914042801abad503838d312110ecc5c85fa56317e75c777d409d67409e58c7de7b48bd7d2d8a3a8aa0d64a828469a534608f77eaaf95536181741ee00d851d4ea3fd9f60f91939962bf9100d7eb03125cf1d871578b730040f9334862eb3a6c66e2c41aa629d5d5e5fc4ba441fb6499bae6b64c1cd0e9c2a6f5751ae31bb6fd4adc955fc00dd8d40c20c2645b69ed1e368e8d33b3919cdd05a302d592d1ba911e443a069760e1af938c58757857abf506cb646f04925e4b3861a86a972172df2c3721188f52bf8f832706c4137632ddf1dad558cbaca1cb80c8c8a330307d117ec4d1da513bba3de72f618003923d870c2f137b691b2699ca2d9b657cd01b79e018009e413f36fd9aeb6f5c6dc01cfe63f408b40ab7e7bb1756d093ec7c647ef42e288644175cb09a0e6468a9018233d46db456b7db00b4db57cefd3ae42e4d4dd4ebff7b5c39e6dac9b0700f4f5fb67bb20cacc78f0027dcb2177327222791c54c4fa1a75d0c9420afffb163a706dfba24aeb333955145d2efb314e599bd74a581d6b68dd719d21996d91b44f2de36a88dcf8880e79ad54af0f77d7d7bc0c588fa1f4736366aabf3956681c58575378a86c6ec89fa782d0c46c3ce51c5a84fc84528d3df59a62d1ea1e3d9e9482fbd79ae12d2e5bf7bb9bb612d6f6b12d8e64b3a92935bf44e2267c8205cdf8994574ad9df00d670221aa8ce94c5cff540c948e89ac786577b1ae42b02d278dee6ae80c934378b78c9a0f43dc1545470ca5785ed385c1924c3f4a73113fddbba4c3a045f704df9da7caeef78e43a848d1eb7c640a22680b8fcf30014ea204efc3898c905dabd24bf02c20a6f611fa6fcebf8ca7fea1e5874ef4850afc42881e38ead8c1b8dbe176ed4e09df72409a6f024fe94460c818be73e0b434797eb5b7fed037dacf081afd30d21e95b84d9f396d7b8667273cf2a24710d84dbf1cf68708e2db7517b76d2b946bba526edc97d0ff1ec2a5e917d166fc05e2957eb05c9b65f53268e8135b4c91c4d2283bcd6e590456a8a0efdd2e0ce9377ea7dd578c958311f64d86e5634e8c153c57aadb32e8a2aa29b84d06661b81fc59701440d1d6bfa5784ad579f69e492b38c8c95a9f3fbae12e5a1e1c39a3af84cc80af1d4ca875ebc225b45f3f8cae054bd7fe4443e58cbbafee629d189a40863de4108e7ccb2141ae6e9cc1b41a752c7209b7a56f06a7618a0c9a42bec5bac9dbd79cbcedfc3eb5ffcd333e4c6302ff69f2143b094f65272dbb491d1c5742f6eff025fcd0b2933f96c589cb45c9c9c19631234c2cf89bd3ad859ac7bede9b9d7eb99db9429435d437a732f4b5e3a4c5dbf9c5f28f180024379f6f312c3df4d676ba4e8517083efac00c901d51267a5934dec6cc09f873af4e50d451f1cceab25e3fbaf01c9c3d6fde859978eca8b93de78d1eb42e49a1dba19841fa49caf94b4e92c0c7348a3c1a52962615a50e9e52c0c6adfa5c2c5bbc29cbd7136e90001b15560667ef213b917b0f884c78305f4a3bde56a6cf7936d99e6c4fea1f846ed581cedccc3ddc2b00684dde70041bbceb1326316d8ed1d7b5cf381b14262bcc236e2336df335e718f6e1d5012f94a5fca0db7ece104faa1b614d252f4d198a24d737a32f2f6ae12066d24c028bac42130ee7d33cd45a19e10a4a0e8f2d6d599f9c3e4d3283cf08127630b306c12ae0bbc4474ca98281053c17c3548177c04d729cfd83b4d11c702d9e5ef7a51a8198cfeb6e8fae8f51958273e20d5a9dbc4072f8dad5c7b8408c8aa8a1e59ee4f219e0848168d59298918c4d706c28c1a33b8918ba6aa143b362c7c51b84fae25dd35b39ebd6f589734a8ffc03cadf77ca11380e73f760a96c2218d2412df325f0054d344502475c1f378e4326aedb7586167ddf11836e33b528b2d262452b338ab99aa2d2baa0fb4df8755b8b653458c8618165b276702444e765000a5b112b3705704ec387dd51fed3f9fea8c3989b5a9cf2c4abcd5388a79e564dcc8329280809eee2572be75d7826ac2f4d0c2d9c3fb4a5f15fe0cb09967e34d7f41629c0d4b010c027b8a432ee4510b33fe4def32cd78e694e031b89467c6538eb073957a7e04401ce413459c77ef2f942e0c97a8ea107beedce5cb9b8859eeecc8ec1a72a4869d60b0fa89741fdb763024e518cdebbf1dc2e6cfd0ed5f5e4f6b09fb786fbff9948b5199392c3c5b631bc1ea7cec1ab4ab6dec428660d52e690c505afe1ef7fb475ead0c800209726fdef863d0ff49b2b213fe404011fe62576acce2da60129f4e6a10cd642cdc2e2cc6681e9b7d32f7e83deef2df9af1f9daebdfccf9532ad8d8dc0922c32e9f0a9f1bd7b820a2b38b6c5bf29f6cf75a7fbaaf72d8b2b915f40b0ba063a5b2c15384d12cb35116ef561fbc023efb520382d20fd240c7f47fe65d86466c9b82711cb3859a5588c8d96f702f385abda1a073c0298411473a9297859e80c236b3361dda26e1a4442e1dcc77ba4fd609f3af7d5c545557c75bca1bfef922aa2a6d3a98fe8fd5bbc3ef0c9e498234d93679f5463f826191f8c6d8a704928d7ef8e14120da85b420777c46e8c86dc79eaa012f1641529613929578186a9367d537a0b8fd6d89e1fa36c3252688f5bb299088cbb4fc8d38e7b2f19d52fbc9a0576aca29c2395d2c58fd0e18a32bf51424099b595980e415174478b2e595a5ac468a1343f0ba1799d7489a66abbf185313b885502d2fb1fa0a1720f786cfbc7f6761606f3eb1259d2a311321f2e52441839ff73def7aa923dfebfdaf9a834b6711f3dada583b896318cd4d0c964285ed49b1eaf8c11c5837ac08f91fde5ba8ad0e7aaae0405d4c630dc6f00abee24274b94daf989bfaa3587325c4cc0bf1e979c4ae8c5e71722d172e1ac3a62931fd06d343925087173ff171c90ef018a0c40c78081bcb017a3dd050c3c53ebf3be5c446135fa795af8af94a9af6808705ac800d3b22f05faa705f2dbb7da6f40746783370c0faa7ea3676fb6cda4ac38739ef449db06442e4217350b49db1bb14e1997045c928792e4359a5c7bc07ad2f7c8f4e5145f7bc7541ce91035e2c5d5382e833a76042acfc0a7198f53f95ae0a6d25d316c2f8c00c2814ca0961d3aa9acdfdc07860c3c6a87d07778a43b36f5cf6f1a5b07c2669b5e2c7be5d1df498d7723e46ace4d4b4431a555c6bf725e5724ba7b07751f498dcf410574fbc848c394d481a06d4299befd02515c7dce415c982a5196b0e031c6c2756aa89151aecc8f3287517b10f3081456ede229aa903af7869a155b4ae040cb2957a3aa37e6048d91fc919a88e8b2aff4e178a555dc45dbca7faf94a7d81bb902f3d78b8c3f84254838a01ea9f4db4ffc727888698a4ed29f1a3a0aa59f836bff139eb79799345bc1226bd93f7a3c445b26b168d45b54ea25f915186ea03fee363d1220ea5cf1af61b394f805b380f0b5560277c7796f1bb5720d3605daf36dd04a75b1b661ea3c596b65ce176f44e4410c7bca7b4ce743a25688aa223fd24d5d50485a3e7de65711afb4109d5a64ecafa0c360f038a3d84b9c859efd58fccddf19df7d2a3e5fec65f6036c87e2449d7ff287847435449b8b5a97a7613dbc08cfa5729e8ceca3a0a064411a9fd7dc58f0642a739af9e372f051b50f1094ab9e45d3b2b2f30ec899cc11a8b4d76ca5c445f9d735a81d909f5e89974fae8ecd88d0c150895143f06d275f4aa91e577241304550245c4b4e2bb1931165f5c127bcb2ee2ea2eafc9a1f4fd3435f03171372831bb48dc92195851341a41899472e194967531554c809b12e873f0f91b9a8ef82efec7a295aa7c9b03565c40e006a86f3810dece717fdd6aeec8e0ce0747e6acd97182a5deee5793093366c1235a15c194c4646d63c9af0dab6a31b31c51407e7a9dc18c50175af4bf6c4038c64ae81d5cfd6b636d570c26b760299b9cd19a3d75e7dd8c80ad52239a75222e888b4d5ea1098a4bf1dd2146782d093e3dbb58c704849adc572bc12cb0b7c03712b2608d4e635f9bd187117676b10025a64d650f41c8335115a338314d396b80e552bf6d9bae5af8e6ba275210ee6e9d95d8bcfda2d3f1edaadec2abebe103adae519f7bbe8d6a1d318ca80a3131e2258fde57e9a9507c94325f410b9552e9e4f43e23cca26b5ec63ddaf3771b4ec3cf14be7130ac21cb8e1aaa3d420ce1bd6e7ad72bbd36a6b68b9bd7ff00260441fc8e94066f96c19676725fa8cf0e8e7239c63e07d8e6c4ebfb3924aa6ab9c7c65d65e8a0c82dab52a923b16b0f9efdf11cb61b35a34f9dab665c6b0d762e0fed9c71d5553d7e847ae3fa5e1264468bc0864bd2af9fe5d10244ab2472e8d9f6569923d6cf5d255db13e19661847ae03d02d3b61912ecc892782babc9cdc27f2c196dd617d5a9a857363260f0bca3fcfa1d5b4722a56ad389ad637136997928401eaa52f29be9614f59e4c2f73dcfb8a6481785564b755ccbbc0b8e5e9c8f0fc8a002a74e1a5bd65c71abc69bcae268123eb7049c2b424d580ad81bcfc032621a05faf5182836a16c6df9f46d0db118f48abbcec4c7d46b4b6e0cd207db237b673a2e69fea2f1338eb7a3f7d9319313d649e0e0a60345281f046401453a503447fa4aafe6638932ea17d159175df85fa505bd0477d363e5e019f2abfc354828ff60db6451364a1173f4110d90611cd8a50cda319448e4e5c52eb62d8c8002c2659c8ce327f89106876e03203b77b1c40b87af3399864228acb1408c973c3b1e0b6ec7f7bdf0ccb8e16789915b15c48682b87e1c57eda5805e8e0ba3235c22a686b3da74eb09f3d8ac51b848936030cb5b38a76f28ecbc7205fe77c6e76eb0a05c8a13dd11d683bf0a813eb79119a80b1349db38a022f091c0199a1cddf326026a6ca39d559047d58279550b9ed4a3c92a286b26ebe1e31c50eac9ac698e0ca7f2cde8379eaef5138a261bf8fcb68933a6322f4851aa8bd7e561d07e888c44a1362f47c65f30a85ce1622a68220e8f8ed2874e3cecb09a4f1f5de570809912d48ca651a4177295809ec1b496701d03640fe70e4e202490a58a2db1810d92d160e86df62a989db4fe5d2c54b0aa7d68f9f601f06d50a654efb63b005dd6d7143e39e1d629401c5107434efc673d812c0a2fd6d07b41f2fa977f472e3a78cdf6c35049c5d3603fc5fd3e8e23fcc977c4eebefb71056ed967140cf7040f67210fa624ed760464fb429785f794d94b524eeda320403ceffeaf2637263d08855388c414711fe31e59cb57d8027a9ac971f0201fb5b3c632c063c172f5ea8b950"}}]}]}, 0x1008}}, 0x0) 01:42:47 executing program 2: setresgid(0x0, 0xffffffffffffffff, 0xee00) setfsgid(0xee00) 01:42:47 executing program 2: syz_mount_image$msdos(&(0x7f0000001a80), &(0x7f0000000180)='./file1\x00', 0xe7d4, 0x1, &(0x7f0000000300)=[{&(0x7f0000000140)="040005090000000066617400040409000200027400f801", 0x17}], 0x0, &(0x7f0000000080)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') connect$unix(0xffffffffffffffff, 0x0, 0x0) r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) openat(0xffffffffffffffff, 0x0, 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000009) sendmmsg$unix(r1, 0x0, 0x0, 0x0) [ 1129.533260][ T1618] loop2: detected capacity change from 0 to 115 [ 1129.569324][ T1621] loop1: detected capacity change from 0 to 264192 [ 1129.587541][ T1623] loop3: detected capacity change from 0 to 264192 01:42:47 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000000200)=@newlink={0x40, 0x10, 0x1, 0x0, 0x0, {}, [@IFLA_IFNAME={0x14, 0x3, 'macvlan1\x00'}, @IFLA_ADDRESS={0xa}]}, 0x40}}, 0x0) 01:42:47 executing program 0: r0 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000140)=@base={0x5, 0x3, 0x8, 0x1}, 0x48) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f00000000c0)={r0, &(0x7f0000000000), &(0x7f0000000080)=@udp}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000200)={r0, &(0x7f0000000000), &(0x7f00000001c0)=@tcp, 0x1}, 0x20) [ 1129.629676][ T37] audit: type=1800 audit(1641433367.524:773): pid=1618 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="loop2" ino=1048767 res=0 errno=0 [ 1129.637100][ T1621] SQUASHFS error: zlib decompression failed, data probably corrupt [ 1129.642922][ T1623] SQUASHFS error: zlib decompression failed, data probably corrupt [ 1129.642943][ T1623] SQUASHFS error: Failed to read block 0x140: -5 [ 1129.642955][ T1623] SQUASHFS error: Unable to read metadata cache entry [13e] [ 1129.642965][ T1623] SQUASHFS error: Unable to read directory block [13e:26] [ 1129.676303][ T1618] syz-executor.2: attempt to access beyond end of device [ 1129.676303][ T1618] loop2: rw=2049, want=230, limit=115 [ 1129.686566][ T1621] SQUASHFS error: Failed to read block 0x140: -5 [ 1129.726946][ T1621] SQUASHFS error: Unable to read metadata cache entry [13e] [ 1129.736123][ T1621] SQUASHFS error: Unable to read directory block [13e:26] 01:42:47 executing program 1: r0 = syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x100000001, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54070f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[]) getdents64(r0, &(0x7f00000035c0)=""/4096, 0x1000) 01:42:47 executing program 3: r0 = syz_mount_image$squashfs(&(0x7f00000002c0), &(0x7f0000000100)='./file0\x00', 0x100000001, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001000c00d00002000400000026010000000000000602000000000000b501000000000000ee0100000000000099000000000000003e010000000000008501000000000000a30100000000000078da2baeacca4eccc9492d2aa61d030085492b1f78da2baeacca4eccc9492d2a1e658c324619a30c1803005565c4a273797a6b616c6c657273a30078da636278cbc8c0c0c83051363d1ec8604800e2ff4000a41852805804889990d43003f925486aa4581818a4813433c37fb81aa01003c82c3520d62fc92dd02faeacd2cdcc4d4c4f4d4fcd3331b434373733b634d24fcbcc493580908c48363031400088d604627620e644926705f2fba16ab81850012392cba0f28cc87ad9806233a1721acaa87a9990f4229b0131f700dc0c76a818282442807ee400d2008b6a3509450078da63648000662056016226061686b4cc9c54070f0646a0208463c80255c508a5991838c0127ac9f939296d40614698b6654006cc0cc3470cac708e1132c71800421f11fb1c0078da636080803628ad02a53da0f43228fd084aab3142680046df02a2850100000000000008805cf90100535f0100ab010000000000001d0078da63606063a8482c29293264636080b21860624670312300b5bc09ab108000000000000000000200000024000000bd010000000000000100000000000000dc01", 0x200}], 0x0, &(0x7f00000000c0)=ANY=[]) getdents64(r0, &(0x7f00000035c0)=""/4096, 0x1000) 01:42:47 executing program 2: perf_event_open(&(0x7f00000000c0)={0x8, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x800000000}, 0x0, 0x0, 0xffffffffffffffff, 0x0) 01:42:47 executing program 0: r0 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000140)=@base={0x5, 0x3, 0x8, 0x1}, 0x48) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f00000000c0)={r0, &(0x7f0000000000), &(0x7f0000000080)=@udp}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000200)={r0, &(0x7f0000000000), &(0x7f00000001c0)=@tcp, 0x1}, 0x20) [ 1129.808659][ T1630] loop3: detected capacity change from 0 to 264192 01:42:47 executing program 0: r0 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000140)=@base={0x5, 0x3, 0x8, 0x1}, 0x48) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f00000000c0)={r0, &(0x7f0000000000), &(0x7f0000000080)=@udp}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000200)={r0, &(0x7f0000000000), &(0x7f00000001c0)=@tcp, 0x1}, 0x20) [ 1129.844899][ T1630] SQUASHFS error: zlib decompression failed, data probably corrupt 01:42:47 executing program 2: r0 = syz_io_uring_setup(0x3edc, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/consoles\x00', 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, 0x0}, 0x0) openat$vim2m(0xffffffffffffff9c, &(0x7f0000000700), 0x2, 0x0) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x0) [ 1129.854914][ T1630] SQUASHFS error: Failed to read block 0x140: -5 [ 1129.861682][ T1630] SQUASHFS error: Unable to read metadata cache entry [13e] [ 1129.869385][ T1630] SQUASHFS error: Unable to read directory block [13e:26] [ 1129.893062][ T1638] loop1: detected capacity change from 0 to 264192 [ 1129.928785][ T1638] SQUASHFS error: zlib decompression failed, data probably corrupt [ 1129.939528][ T1638] SQUASHFS error: Failed to read block 0x140: -5 01:42:47 executing program 0: r0 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000140)=@base={0x5, 0x3, 0x8, 0x1}, 0x48) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f00000000c0)={r0, &(0x7f0000000000), &(0x7f0000000080)=@udp}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000200)={r0, &(0x7f0000000000), &(0x7f00000001c0)=@tcp, 0x1}, 0x20) [ 1129.954636][ T1638] SQUASHFS error: Unable to read metadata cache entry [13e] [ 1129.969749][ T1638] SQUASHFS error: Unable to read directory block [13e:26] 01:42:47 executing program 3: r0 = perf_event_open(&(0x7f00000000c0)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r1 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000280), 0x0, 0x0) ppoll(&(0x7f0000000780)=[{r0}, {r1}], 0x2, 0x0, 0x0, 0x0) 01:42:47 executing program 1: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x0, 0x40, &(0x7f0000000000)=@nat={'nat\x00', 0x62, 0x5, 0x4a0, 0x0, 0x1a8, 0xffffffff, 0x0, 0x0, 0x408, 0x408, 0xffffffff, 0x408, 0x408, 0x5, 0x0, {[{{@uncond, 0x0, 0x170, 0x1a8, 0x0, {}, [@common=@unspec=@helper={{0x48}, {0x0, 'Q.931\x00'}}, @common=@unspec=@conntrack1={{0xb8}, {{@ipv4, [], @ipv6=@mcast2, [], @ipv6=@loopback, [], @ipv6=@mcast2}}}]}, @REDIRECT={0x38, 'REDIRECT\x00', 0x0, {0x1, {0x5, @dev, @broadcast, @port, @icmp_id}}}}, {{@ip={@remote, @local, 0x0, 0x0, 'lo\x00', 'veth0_to_hsr\x00'}, 0x0, 0x70, 0xa8}, @SNAT0={0x38, 'SNAT\x00', 0x0, {0x1, {0x0, @private, @private, @gre_key, @gre_key}}}}, {{@uncond, 0x0, 0x70, 0xa8}, @REDIRECT={0x38, 'REDIRECT\x00', 0x0, {0x1, {0x0, @multicast1, @local, @icmp_id, @icmp_id}}}}, {{@uncond, 0x0, 0xd8, 0x110, 0x0, {}, [@common=@icmp={{0x28}, {0x0, "9ffb"}}, @common=@set={{0x40}}]}, @SNAT0={0x38, 'SNAT\x00', 0x0, {0x1, {0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @empty, @port, @gre_key}}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x500) 01:42:47 executing program 1: ioctl$sock_SIOCGIFINDEX_802154(0xffffffffffffffff, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_ADD_DEV(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x30, 0x0, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8, 0x2f, 0x4}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r0}]}, 0x30}, 0x6, 0x0, 0x0, 0x4000010}, 0x0) r1 = perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe, 0x0, 0x1f, 0x0, @perf_bp={0x0}, 0xc030, 0x0, 0x2, 0x0, 0x9}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) syz_open_dev$loop(&(0x7f00000001c0), 0x75f, 0x103382) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f00000010c0)=ANY=[@ANYBLOB="00e193e1a41d28e59803e7a9f69459d7269395402d80e8869430a8dcca000000006e11892c027ea74d0c40000000004b5a60840c9a762f720d13efa1bc9e3d826c524de83c24460df69f6d8ad29a69a215502457de71617ff30f0305068597cea0d6746006e61e064a5fae3e7eb3084632412f3e11faad9fb94000f269bf1c059f5ea7d655160900bc274eb970ef36"], 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x1, 0x1}, 0x20) r3 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r3, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r4 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r3, r4, &(0x7f0000000240)=0x208, 0x9) r5 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700), 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r4, &(0x7f0000000040)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000001340)=ANY=[@ANYRESDEC, @ANYRES16=r5, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002c4bd007b333c6ec1b1fd5b8b01f7dfe7e3996772fc12b05b245ee1735be6071e583078abc90d94248538991e5fcf2dc96a0ed8defc60b1c608a1b8eecc0a2fc4dc983e0ddb182d2fcdd95c9d3422c0bb53530b06b41c68baa2cc58db4e2166ce7a610000ffedff581bd7ba9d2c6aafce42270343107f695871e73e8bd41867ef145a9223bdb1229729464c36aca08d609c170b21843de1ec26b8f19b7f05e8296b2947cfac6543c35c52f813ec21a3c5866da363e3c39823c4915145a768d141ec5dd3a3734edb6ffed23f0a46da5ff09d3dbb1efc3ed81e4e9acc99321fb13bd2aa14fa0ba5090ba5b4429c1978225b2904f3ebee343d0d1d29500082f45f57c2a981b31bee9fec3ac6c60bfa8bb7c5be31e04f5faa3325ef5bc53ce0a5fb9d104d33ee6545a98c1b9ee188e53858796183d1384e77838d42de82e621bed06e8561328f955dd0db5a1b3f98dc264f144bf22881f215ee31099e4b5f297c2493351c8af29c3e311838c912b29a3961b1d7d2b1b70524d42d37a6dc7f65a2fc59e1bdab822caa31b01c92a69c7cab33322a48d123440d2d2819f819814f15701d66f7f4b38e8275d519350d9bb2634128a54e37b4558b3cce19bd3a63e5e307b24ccecf30e459460045c126023ff5e52b086fb1e38e07c427bb11167734f7c774d4f2cc89158dcfd8fe6e9d0000000000000000000000000043391a787bbc5a8630be680e8e67c75f90b73f8ca41063e4b372ed22a060a42cac2a2727170e0f0b59cbcff86e52ba6aa35b763197afbedf56", @ANYRESOCT=r2], 0x1c}}, 0x20008004) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000200)={&(0x7f0000000780)=ANY=[@ANYRES32, @ANYRES16=r5, @ANYBLOB="000400007000ffdbdf2502000000280007007379737465000000006f626a6563745f723a7379736c6f67641e06011400ff036970766a616e3100000000000009000000000300fc020000000000000000e7ffffffffff1300060076657468305f766972745f776966690008000500e000000214000300fe800014000300fe800003ff595233d345c01369c6deffffff00000000000000002d2500070073797374656d5f753a6f626a6563745f723a640000000000000000040000003000000000270007007379737405005f753a6f626a6563745f723a696e697472635f657865635f743a73300000f925c25b5fef910a55acc660e2df06000000f095d8a4d1160efc91276d17ebc6894a49968617032133be8589c046c39ab149d897a6a12acdece1097247d8c1c1b9f8b40ecfb6fda0a69ffabd0a5ea404af38d4a3aa2310ca23de9438742517b5d28a3bef6d7872216e75f46549c9da7db425166f324b9d646e68c0a7ac35dda35100007fb1373c5a7320242bb8af55bc2d1c77d71dbb6d19d3a57d8aeaa0b5273e5cf84106c24190a295b105000000000000006d7f3f0e6a98b6d34d9a711c2dbd3e4ae311b899caba10777a1ae7e105c440cdbb3c1bd31d5a6fffd9e7f83365fc55cbb66152ddb5979ded05c39b022fd6a6c8c592b55b8a8cdfe6c84f9a721861e4ae1e50610e9a566512dc40ff5e8bd3553ff26de8902b520331fa7a11fdbf5713c9f088b3c068e6bfad00000000000099fdac3cc45bae355dda08e41952322910111e7b2ce0045c44e6dd61d5073ca45a9f9ae3a5e0ea697e490a3dbceb9e142e6623dd34afc96b35903bb92400a877325c8f057313864ba62a8ef0028b4cd80a334b207453fda1934133364d1b0d7d0f2411d83c78ee15f45e30605f60015eecff668e2289dce80c306cb33138c29b1a8608c8", @ANYRESHEX=r1], 0x100}, 0x1, 0x0, 0x0, 0x8000}, 0x1) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)={0xffffffffffffffcf, r5, 0x300, 0x70bd2d, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_SECCTX={0x28, 0x7, 'system_u:object_r:anacron_exec_t:s0\x00'}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @remote}]}, 0x50}, 0x1, 0x0, 0x0, 0x493505b87b315a90}, 0x4040000) sendmsg$NLBL_UNLABEL_C_STATICLIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000100)={&(0x7f0000000500)=ANY=[@ANYBLOB="cd39ba91657843cdaa9c486c40e28549a5c46c8b21c62711fbea0d1a34a70b91e906e58c58a13804cca1adc8ac353eaf996107633b46b3c70c87ae6b0788bec28e1b7882105fabb8980c3aaa0f219a429a40d9d3b427022dbaf449ccc27b503f5442134d223f177748255a370b1318b1d84980419ddaccc1939122aa386ea3048be1d8dd812ab9d1aead78a2b2ca629f64794afaa1aa953afdc6c1bd7fdb11eb78741a9604e66c6240212c66e673f647098d2b1991cba99d0a0b60b021616faac3bd695e3455504854", @ANYRES16=r5, @ANYBLOB="000428bd7000fddbdf25050000000500010000000000"], 0x1c}, 0x1, 0x0, 0x0, 0x4004040}, 0x4000001) sendmsg$NLBL_UNLABEL_C_ACCEPT(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x1c, r5, 0x200, 0x70bd29, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}]}, 0x1c}, 0x1, 0x0, 0x0, 0x400c000}, 0x40000) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000003c0)}, 0x0, 0x0, 0x1}, 0x0, 0x3, 0xffffffffffffffff, 0x0) pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000000180), 0x0) sendmsg$BATADV_CMD_GET_ORIGINATORS(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x2c, 0x0, 0x1, 0x70bd2c, 0x25dfdbff, {}, [@BATADV_ATTR_BONDING_ENABLED={0x5}, @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED={0x5}, @BATADV_ATTR_ORIG_INTERVAL={0x8}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8004}, 0x40408c0) 01:42:47 executing program 0: perf_event_open(&(0x7f00000004c0)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r0, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x1c, &(0x7f0000000380)=[@in6={0xa, 0x0, 0x0, @local, 0x5}]}, &(0x7f0000000180)=0x10) r1 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x9, &(0x7f00000000c0)={r2, @in={{0x2, 0x0, @empty}}, 0x0, 0x0, 0x0, 0x0, 0x326}, 0x9c) 01:42:48 executing program 3: syz_mount_image$squashfs(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount(&(0x7f0000000040)=@nbd={'/dev/nbd', 0x0}, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='exfat\x00', 0x0, 0x0) 01:42:48 executing program 2: r0 = syz_io_uring_setup(0x3edc, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/consoles\x00', 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, 0x0}, 0x0) openat$vim2m(0xffffffffffffff9c, &(0x7f0000000700), 0x2, 0x0) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x0) [ 1130.191571][ T1729] block nbd3: Attempted send on invalid socket [ 1130.199119][ T1729] I/O error, dev nbd3, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 1130.211191][ T2177] exFAT-fs (nbd3): unable to read boot sector [ 1130.223542][ T2177] exFAT-fs (nbd3): failed to read boot sector [ 1130.231606][ T2177] exFAT-fs (nbd3): failed to recognize exfat type 01:42:48 executing program 0: perf_event_open(&(0x7f00000004c0)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r0, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x1c, &(0x7f0000000380)=[@in6={0xa, 0x0, 0x0, @local, 0x5}]}, &(0x7f0000000180)=0x10) r1 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x9, &(0x7f00000000c0)={r2, @in={{0x2, 0x0, @empty}}, 0x0, 0x0, 0x0, 0x0, 0x326}, 0x9c) 01:42:48 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000240), 0xffffffffffffffff) sendmsg$TIPC_NL_PEER_REMOVE(r0, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000000)={0x38, r1, 0x1, 0x0, 0x0, {0x9}, [@TIPC_NLA_LINK={0x24, 0x4, 0x0, 0x1, [@TIPC_NLA_LINK_PROP={0xc, 0x7, 0x0, 0x1, [@TIPC_NLA_PROP_TOL={0x4}]}, @TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}]}]}, 0x38}}, 0x0) [ 1130.321760][ T2418] netlink: 'syz-executor.3': attribute type 2 has an invalid length. 01:42:48 executing program 3: r0 = socket(0xa, 0x1, 0x0) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) perf_event_open(&(0x7f0000000000)={0x1000000002, 0x80, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffff, 0xffffffffffffffff, 0x0) socket$inet_tcp(0x2, 0x1, 0x0) sendmsg$nl_netfilter(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000004000)={0x14, 0x0, 0x4, 0x801}, 0x14}}, 0x0) setsockopt$IP_VS_SO_SET_ADD(r0, 0x0, 0x482, &(0x7f0000000000)={0x100000011, @multicast2, 0x0, 0x0, 'sh\x00'}, 0x2c) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000340)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000300)={&(0x7f00000003c0)={0x54, 0x2, 0x6, 0x301, 0x0, 0x0, {0x5, 0x0, 0x4}, [@IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_TYPENAME={0x16, 0x3, 'hash:net,port,net\x00'}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x7}, @IPSET_ATTR_REVISION={0x5, 0x4, 0x2}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}]}, 0x54}, 0x1, 0x0, 0x0, 0x840}, 0x0) r2 = socket$inet(0x2, 0x1, 0x0) pipe(&(0x7f0000000380)={0xffffffffffffffff}) r4 = socket$inet_udp(0x2, 0x2, 0x0) close(r4) splice(r3, 0x0, r4, 0x0, 0x4ffe0, 0x0) setsockopt$inet_tcp_buf(r3, 0x6, 0x1f, &(0x7f0000000200)="d10395696c4aef45d179341d8935e692aa2705377a94348cc2a18ac345725c773ed93ca3a52594e2158eadaaa455aaafc421d74eb7e505b80f57fdbf3cd9b7407017f62b9c6da25c2f023ea581ff6d5a17255071a61d79646bb28c268380f92ad5729918a6569c53de535981445bf80f05bf8fc80834f99752b9f84774b291d403074edb856049b9d1e4553b38720fb5bb7b129f71ee1720e42078d9a1610875b4c239913e4ad821a29bbef149ccb818a7d045f81d345bddf74d7a2cebbbec5311762d12dfb7003416196c203e5f4979edc53e43d424b186de3dddda41f02b00056208ba1d1eeedaa060d7", 0xeb) getsockopt$inet_buf(r2, 0x0, 0x50, &(0x7f0000001280)=""/4068, &(0x7f0000000040)=0xfe4) setsockopt$IPT_SO_SET_ADD_COUNTERS(r2, 0x0, 0x41, &(0x7f0000000040)={'mangle\x00', 0x3, [{}, {}, {}]}, 0x58) 01:42:48 executing program 2: r0 = syz_io_uring_setup(0x3edc, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/consoles\x00', 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, 0x0}, 0x0) openat$vim2m(0xffffffffffffff9c, &(0x7f0000000700), 0x2, 0x0) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x0) 01:42:48 executing program 2: r0 = syz_io_uring_setup(0x3edc, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/consoles\x00', 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, 0x0}, 0x0) openat$vim2m(0xffffffffffffff9c, &(0x7f0000000700), 0x2, 0x0) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x0) 01:42:48 executing program 0: perf_event_open(&(0x7f00000004c0)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r0, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x1c, &(0x7f0000000380)=[@in6={0xa, 0x0, 0x0, @local, 0x5}]}, &(0x7f0000000180)=0x10) r1 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x9, &(0x7f00000000c0)={r2, @in={{0x2, 0x0, @empty}}, 0x0, 0x0, 0x0, 0x0, 0x326}, 0x9c) 01:42:48 executing program 1: ioctl$sock_SIOCGIFINDEX_802154(0xffffffffffffffff, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_ADD_DEV(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x30, 0x0, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8, 0x2f, 0x4}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r0}]}, 0x30}, 0x6, 0x0, 0x0, 0x4000010}, 0x0) r1 = perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe, 0x0, 0x1f, 0x0, @perf_bp={0x0}, 0xc030, 0x0, 0x2, 0x0, 0x9}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) syz_open_dev$loop(&(0x7f00000001c0), 0x75f, 0x103382) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f00000010c0)=ANY=[@ANYBLOB="00e193e1a41d28e59803e7a9f69459d7269395402d80e8869430a8dcca000000006e11892c027ea74d0c40000000004b5a60840c9a762f720d13efa1bc9e3d826c524de83c24460df69f6d8ad29a69a215502457de71617ff30f0305068597cea0d6746006e61e064a5fae3e7eb3084632412f3e11faad9fb94000f269bf1c059f5ea7d655160900bc274eb970ef36"], 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x1, 0x1}, 0x20) r3 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r3, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r4 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r3, r4, &(0x7f0000000240)=0x208, 0x9) r5 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700), 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r4, &(0x7f0000000040)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000001340)=ANY=[@ANYRESDEC, @ANYRES16=r5, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002c4bd007b333c6ec1b1fd5b8b01f7dfe7e3996772fc12b05b245ee1735be6071e583078abc90d94248538991e5fcf2dc96a0ed8defc60b1c608a1b8eecc0a2fc4dc983e0ddb182d2fcdd95c9d3422c0bb53530b06b41c68baa2cc58db4e2166ce7a610000ffedff581bd7ba9d2c6aafce42270343107f695871e73e8bd41867ef145a9223bdb1229729464c36aca08d609c170b21843de1ec26b8f19b7f05e8296b2947cfac6543c35c52f813ec21a3c5866da363e3c39823c4915145a768d141ec5dd3a3734edb6ffed23f0a46da5ff09d3dbb1efc3ed81e4e9acc99321fb13bd2aa14fa0ba5090ba5b4429c1978225b2904f3ebee343d0d1d29500082f45f57c2a981b31bee9fec3ac6c60bfa8bb7c5be31e04f5faa3325ef5bc53ce0a5fb9d104d33ee6545a98c1b9ee188e53858796183d1384e77838d42de82e621bed06e8561328f955dd0db5a1b3f98dc264f144bf22881f215ee31099e4b5f297c2493351c8af29c3e311838c912b29a3961b1d7d2b1b70524d42d37a6dc7f65a2fc59e1bdab822caa31b01c92a69c7cab33322a48d123440d2d2819f819814f15701d66f7f4b38e8275d519350d9bb2634128a54e37b4558b3cce19bd3a63e5e307b24ccecf30e459460045c126023ff5e52b086fb1e38e07c427bb11167734f7c774d4f2cc89158dcfd8fe6e9d0000000000000000000000000043391a787bbc5a8630be680e8e67c75f90b73f8ca41063e4b372ed22a060a42cac2a2727170e0f0b59cbcff86e52ba6aa35b763197afbedf56", @ANYRESOCT=r2], 0x1c}}, 0x20008004) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000200)={&(0x7f0000000780)=ANY=[@ANYRES32, @ANYRES16=r5, @ANYBLOB="000400007000ffdbdf2502000000280007007379737465000000006f626a6563745f723a7379736c6f67641e06011400ff036970766a616e3100000000000009000000000300fc020000000000000000e7ffffffffff1300060076657468305f766972745f776966690008000500e000000214000300fe800014000300fe800003ff595233d345c01369c6deffffff00000000000000002d2500070073797374656d5f753a6f626a6563745f723a640000000000000000040000003000000000270007007379737405005f753a6f626a6563745f723a696e697472635f657865635f743a73300000f925c25b5fef910a55acc660e2df06000000f095d8a4d1160efc91276d17ebc6894a49968617032133be8589c046c39ab149d897a6a12acdece1097247d8c1c1b9f8b40ecfb6fda0a69ffabd0a5ea404af38d4a3aa2310ca23de9438742517b5d28a3bef6d7872216e75f46549c9da7db425166f324b9d646e68c0a7ac35dda35100007fb1373c5a7320242bb8af55bc2d1c77d71dbb6d19d3a57d8aeaa0b5273e5cf84106c24190a295b105000000000000006d7f3f0e6a98b6d34d9a711c2dbd3e4ae311b899caba10777a1ae7e105c440cdbb3c1bd31d5a6fffd9e7f83365fc55cbb66152ddb5979ded05c39b022fd6a6c8c592b55b8a8cdfe6c84f9a721861e4ae1e50610e9a566512dc40ff5e8bd3553ff26de8902b520331fa7a11fdbf5713c9f088b3c068e6bfad00000000000099fdac3cc45bae355dda08e41952322910111e7b2ce0045c44e6dd61d5073ca45a9f9ae3a5e0ea697e490a3dbceb9e142e6623dd34afc96b35903bb92400a877325c8f057313864ba62a8ef0028b4cd80a334b207453fda1934133364d1b0d7d0f2411d83c78ee15f45e30605f60015eecff668e2289dce80c306cb33138c29b1a8608c8", @ANYRESHEX=r1], 0x100}, 0x1, 0x0, 0x0, 0x8000}, 0x1) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)={0xffffffffffffffcf, r5, 0x300, 0x70bd2d, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_SECCTX={0x28, 0x7, 'system_u:object_r:anacron_exec_t:s0\x00'}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @remote}]}, 0x50}, 0x1, 0x0, 0x0, 0x493505b87b315a90}, 0x4040000) sendmsg$NLBL_UNLABEL_C_STATICLIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000100)={&(0x7f0000000500)=ANY=[@ANYBLOB="cd39ba91657843cdaa9c486c40e28549a5c46c8b21c62711fbea0d1a34a70b91e906e58c58a13804cca1adc8ac353eaf996107633b46b3c70c87ae6b0788bec28e1b7882105fabb8980c3aaa0f219a429a40d9d3b427022dbaf449ccc27b503f5442134d223f177748255a370b1318b1d84980419ddaccc1939122aa386ea3048be1d8dd812ab9d1aead78a2b2ca629f64794afaa1aa953afdc6c1bd7fdb11eb78741a9604e66c6240212c66e673f647098d2b1991cba99d0a0b60b021616faac3bd695e3455504854", @ANYRES16=r5, @ANYBLOB="000428bd7000fddbdf25050000000500010000000000"], 0x1c}, 0x1, 0x0, 0x0, 0x4004040}, 0x4000001) sendmsg$NLBL_UNLABEL_C_ACCEPT(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x1c, r5, 0x200, 0x70bd29, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}]}, 0x1c}, 0x1, 0x0, 0x0, 0x400c000}, 0x40000) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000003c0)}, 0x0, 0x0, 0x1}, 0x0, 0x3, 0xffffffffffffffff, 0x0) pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000000180), 0x0) sendmsg$BATADV_CMD_GET_ORIGINATORS(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x2c, 0x0, 0x1, 0x70bd2c, 0x25dfdbff, {}, [@BATADV_ATTR_BONDING_ENABLED={0x5}, @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED={0x5}, @BATADV_ATTR_ORIG_INTERVAL={0x8}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8004}, 0x40408c0) 01:42:49 executing program 3: ioctl$sock_SIOCGIFINDEX_802154(0xffffffffffffffff, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_ADD_DEV(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x30, 0x0, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8, 0x2f, 0x4}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r0}]}, 0x30}, 0x6, 0x0, 0x0, 0x4000010}, 0x0) r1 = perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe, 0x0, 0x1f, 0x0, @perf_bp={0x0}, 0xc030, 0x0, 0x2, 0x0, 0x9}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) syz_open_dev$loop(&(0x7f00000001c0), 0x75f, 0x103382) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f00000010c0)=ANY=[@ANYBLOB="00e193e1a41d28e59803e7a9f69459d7269395402d80e8869430a8dcca000000006e11892c027ea74d0c40000000004b5a60840c9a762f720d13efa1bc9e3d826c524de83c24460df69f6d8ad29a69a215502457de71617ff30f0305068597cea0d6746006e61e064a5fae3e7eb3084632412f3e11faad9fb94000f269bf1c059f5ea7d655160900bc274eb970ef36"], 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x1, 0x1}, 0x20) r3 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r3, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r4 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r3, r4, &(0x7f0000000240)=0x208, 0x9) r5 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700), 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r4, &(0x7f0000000040)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000001340)=ANY=[@ANYRESDEC, @ANYRES16=r5, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002c4bd007b333c6ec1b1fd5b8b01f7dfe7e3996772fc12b05b245ee1735be6071e583078abc90d94248538991e5fcf2dc96a0ed8defc60b1c608a1b8eecc0a2fc4dc983e0ddb182d2fcdd95c9d3422c0bb53530b06b41c68baa2cc58db4e2166ce7a610000ffedff581bd7ba9d2c6aafce42270343107f695871e73e8bd41867ef145a9223bdb1229729464c36aca08d609c170b21843de1ec26b8f19b7f05e8296b2947cfac6543c35c52f813ec21a3c5866da363e3c39823c4915145a768d141ec5dd3a3734edb6ffed23f0a46da5ff09d3dbb1efc3ed81e4e9acc99321fb13bd2aa14fa0ba5090ba5b4429c1978225b2904f3ebee343d0d1d29500082f45f57c2a981b31bee9fec3ac6c60bfa8bb7c5be31e04f5faa3325ef5bc53ce0a5fb9d104d33ee6545a98c1b9ee188e53858796183d1384e77838d42de82e621bed06e8561328f955dd0db5a1b3f98dc264f144bf22881f215ee31099e4b5f297c2493351c8af29c3e311838c912b29a3961b1d7d2b1b70524d42d37a6dc7f65a2fc59e1bdab822caa31b01c92a69c7cab33322a48d123440d2d2819f819814f15701d66f7f4b38e8275d519350d9bb2634128a54e37b4558b3cce19bd3a63e5e307b24ccecf30e459460045c126023ff5e52b086fb1e38e07c427bb11167734f7c774d4f2cc89158dcfd8fe6e9d0000000000000000000000000043391a787bbc5a8630be680e8e67c75f90b73f8ca41063e4b372ed22a060a42cac2a2727170e0f0b59cbcff86e52ba6aa35b763197afbedf56", @ANYRESOCT=r2], 0x1c}}, 0x20008004) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000200)={&(0x7f0000000780)=ANY=[@ANYRES32, @ANYRES16=r5, @ANYBLOB="000400007000ffdbdf2502000000280007007379737465000000006f626a6563745f723a7379736c6f67641e06011400ff036970766a616e3100000000000009000000000300fc020000000000000000e7ffffffffff1300060076657468305f766972745f776966690008000500e000000214000300fe800014000300fe800003ff595233d345c01369c6deffffff00000000000000002d2500070073797374656d5f753a6f626a6563745f723a640000000000000000040000003000000000270007007379737405005f753a6f626a6563745f723a696e697472635f657865635f743a73300000f925c25b5fef910a55acc660e2df06000000f095d8a4d1160efc91276d17ebc6894a49968617032133be8589c046c39ab149d897a6a12acdece1097247d8c1c1b9f8b40ecfb6fda0a69ffabd0a5ea404af38d4a3aa2310ca23de9438742517b5d28a3bef6d7872216e75f46549c9da7db425166f324b9d646e68c0a7ac35dda35100007fb1373c5a7320242bb8af55bc2d1c77d71dbb6d19d3a57d8aeaa0b5273e5cf84106c24190a295b105000000000000006d7f3f0e6a98b6d34d9a711c2dbd3e4ae311b899caba10777a1ae7e105c440cdbb3c1bd31d5a6fffd9e7f83365fc55cbb66152ddb5979ded05c39b022fd6a6c8c592b55b8a8cdfe6c84f9a721861e4ae1e50610e9a566512dc40ff5e8bd3553ff26de8902b520331fa7a11fdbf5713c9f088b3c068e6bfad00000000000099fdac3cc45bae355dda08e41952322910111e7b2ce0045c44e6dd61d5073ca45a9f9ae3a5e0ea697e490a3dbceb9e142e6623dd34afc96b35903bb92400a877325c8f057313864ba62a8ef0028b4cd80a334b207453fda1934133364d1b0d7d0f2411d83c78ee15f45e30605f60015eecff668e2289dce80c306cb33138c29b1a8608c8", @ANYRESHEX=r1], 0x100}, 0x1, 0x0, 0x0, 0x8000}, 0x1) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)={0xffffffffffffffcf, r5, 0x300, 0x70bd2d, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_SECCTX={0x28, 0x7, 'system_u:object_r:anacron_exec_t:s0\x00'}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @remote}]}, 0x50}, 0x1, 0x0, 0x0, 0x493505b87b315a90}, 0x4040000) sendmsg$NLBL_UNLABEL_C_STATICLIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000100)={&(0x7f0000000500)=ANY=[@ANYBLOB="cd39ba91657843cdaa9c486c40e28549a5c46c8b21c62711fbea0d1a34a70b91e906e58c58a13804cca1adc8ac353eaf996107633b46b3c70c87ae6b0788bec28e1b7882105fabb8980c3aaa0f219a429a40d9d3b427022dbaf449ccc27b503f5442134d223f177748255a370b1318b1d84980419ddaccc1939122aa386ea3048be1d8dd812ab9d1aead78a2b2ca629f64794afaa1aa953afdc6c1bd7fdb11eb78741a9604e66c6240212c66e673f647098d2b1991cba99d0a0b60b021616faac3bd695e3455504854", @ANYRES16=r5, @ANYBLOB="000428bd7000fddbdf25050000000500010000000000"], 0x1c}, 0x1, 0x0, 0x0, 0x4004040}, 0x4000001) sendmsg$NLBL_UNLABEL_C_ACCEPT(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x1c, r5, 0x200, 0x70bd29, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}]}, 0x1c}, 0x1, 0x0, 0x0, 0x400c000}, 0x40000) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000003c0)}, 0x0, 0x0, 0x1}, 0x0, 0x3, 0xffffffffffffffff, 0x0) pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000000180), 0x0) sendmsg$BATADV_CMD_GET_ORIGINATORS(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x2c, 0x0, 0x1, 0x70bd2c, 0x25dfdbff, {}, [@BATADV_ATTR_BONDING_ENABLED={0x5}, @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED={0x5}, @BATADV_ATTR_ORIG_INTERVAL={0x8}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8004}, 0x40408c0) 01:42:49 executing program 2: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x7) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000002000)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) symlink(&(0x7f0000000140)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', &(0x7f00000002c0)='./file0\x00') r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x11, r0, 0x0) pipe(&(0x7f0000000000)) socketpair$unix(0x1, 0x0, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) pwritev(r1, 0x0, 0x0, 0x4, 0x0) perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) creat(&(0x7f00000000c0)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', 0xfbffffff00000000) unlink(&(0x7f0000000300)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00') 01:42:49 executing program 0: perf_event_open(&(0x7f00000004c0)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r0, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x1c, &(0x7f0000000380)=[@in6={0xa, 0x0, 0x0, @local, 0x5}]}, &(0x7f0000000180)=0x10) r1 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x9, &(0x7f00000000c0)={r2, @in={{0x2, 0x0, @empty}}, 0x0, 0x0, 0x0, 0x0, 0x326}, 0x9c) 01:42:49 executing program 0: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f0000000300)=0x80, 0x4) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r0, 0x0, 0xffffffffffffffb5, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) write$binfmt_elf64(r0, &(0x7f0000000040)=ANY=[], 0x2bcf) r1 = fcntl$dupfd(r0, 0x0, r0) sendto$inet(r0, &(0x7f0000000040)="d3", 0x1, 0x81, 0x0, 0x0) sendto$inet(r1, &(0x7f0000000180)='m', 0x1, 0x0, 0x0, 0x0) 01:42:49 executing program 1: ioctl$sock_SIOCGIFINDEX_802154(0xffffffffffffffff, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_ADD_DEV(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x30, 0x0, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8, 0x2f, 0x4}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r0}]}, 0x30}, 0x6, 0x0, 0x0, 0x4000010}, 0x0) r1 = perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe, 0x0, 0x1f, 0x0, @perf_bp={0x0}, 0xc030, 0x0, 0x2, 0x0, 0x9}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) syz_open_dev$loop(&(0x7f00000001c0), 0x75f, 0x103382) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f00000010c0)=ANY=[@ANYBLOB="00e193e1a41d28e59803e7a9f69459d7269395402d80e8869430a8dcca000000006e11892c027ea74d0c40000000004b5a60840c9a762f720d13efa1bc9e3d826c524de83c24460df69f6d8ad29a69a215502457de71617ff30f0305068597cea0d6746006e61e064a5fae3e7eb3084632412f3e11faad9fb94000f269bf1c059f5ea7d655160900bc274eb970ef36"], 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x1, 0x1}, 0x20) r3 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r3, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r4 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r3, r4, &(0x7f0000000240)=0x208, 0x9) r5 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700), 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r4, &(0x7f0000000040)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000001340)=ANY=[@ANYRESDEC, @ANYRES16=r5, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002c4bd007b333c6ec1b1fd5b8b01f7dfe7e3996772fc12b05b245ee1735be6071e583078abc90d94248538991e5fcf2dc96a0ed8defc60b1c608a1b8eecc0a2fc4dc983e0ddb182d2fcdd95c9d3422c0bb53530b06b41c68baa2cc58db4e2166ce7a610000ffedff581bd7ba9d2c6aafce42270343107f695871e73e8bd41867ef145a9223bdb1229729464c36aca08d609c170b21843de1ec26b8f19b7f05e8296b2947cfac6543c35c52f813ec21a3c5866da363e3c39823c4915145a768d141ec5dd3a3734edb6ffed23f0a46da5ff09d3dbb1efc3ed81e4e9acc99321fb13bd2aa14fa0ba5090ba5b4429c1978225b2904f3ebee343d0d1d29500082f45f57c2a981b31bee9fec3ac6c60bfa8bb7c5be31e04f5faa3325ef5bc53ce0a5fb9d104d33ee6545a98c1b9ee188e53858796183d1384e77838d42de82e621bed06e8561328f955dd0db5a1b3f98dc264f144bf22881f215ee31099e4b5f297c2493351c8af29c3e311838c912b29a3961b1d7d2b1b70524d42d37a6dc7f65a2fc59e1bdab822caa31b01c92a69c7cab33322a48d123440d2d2819f819814f15701d66f7f4b38e8275d519350d9bb2634128a54e37b4558b3cce19bd3a63e5e307b24ccecf30e459460045c126023ff5e52b086fb1e38e07c427bb11167734f7c774d4f2cc89158dcfd8fe6e9d0000000000000000000000000043391a787bbc5a8630be680e8e67c75f90b73f8ca41063e4b372ed22a060a42cac2a2727170e0f0b59cbcff86e52ba6aa35b763197afbedf56", @ANYRESOCT=r2], 0x1c}}, 0x20008004) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000200)={&(0x7f0000000780)=ANY=[@ANYRES32, @ANYRES16=r5, @ANYBLOB="000400007000ffdbdf2502000000280007007379737465000000006f626a6563745f723a7379736c6f67641e06011400ff036970766a616e3100000000000009000000000300fc020000000000000000e7ffffffffff1300060076657468305f766972745f776966690008000500e000000214000300fe800014000300fe800003ff595233d345c01369c6deffffff00000000000000002d2500070073797374656d5f753a6f626a6563745f723a640000000000000000040000003000000000270007007379737405005f753a6f626a6563745f723a696e697472635f657865635f743a73300000f925c25b5fef910a55acc660e2df06000000f095d8a4d1160efc91276d17ebc6894a49968617032133be8589c046c39ab149d897a6a12acdece1097247d8c1c1b9f8b40ecfb6fda0a69ffabd0a5ea404af38d4a3aa2310ca23de9438742517b5d28a3bef6d7872216e75f46549c9da7db425166f324b9d646e68c0a7ac35dda35100007fb1373c5a7320242bb8af55bc2d1c77d71dbb6d19d3a57d8aeaa0b5273e5cf84106c24190a295b105000000000000006d7f3f0e6a98b6d34d9a711c2dbd3e4ae311b899caba10777a1ae7e105c440cdbb3c1bd31d5a6fffd9e7f83365fc55cbb66152ddb5979ded05c39b022fd6a6c8c592b55b8a8cdfe6c84f9a721861e4ae1e50610e9a566512dc40ff5e8bd3553ff26de8902b520331fa7a11fdbf5713c9f088b3c068e6bfad00000000000099fdac3cc45bae355dda08e41952322910111e7b2ce0045c44e6dd61d5073ca45a9f9ae3a5e0ea697e490a3dbceb9e142e6623dd34afc96b35903bb92400a877325c8f057313864ba62a8ef0028b4cd80a334b207453fda1934133364d1b0d7d0f2411d83c78ee15f45e30605f60015eecff668e2289dce80c306cb33138c29b1a8608c8", @ANYRESHEX=r1], 0x100}, 0x1, 0x0, 0x0, 0x8000}, 0x1) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)={0xffffffffffffffcf, r5, 0x300, 0x70bd2d, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_SECCTX={0x28, 0x7, 'system_u:object_r:anacron_exec_t:s0\x00'}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @remote}]}, 0x50}, 0x1, 0x0, 0x0, 0x493505b87b315a90}, 0x4040000) sendmsg$NLBL_UNLABEL_C_STATICLIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000100)={&(0x7f0000000500)=ANY=[@ANYBLOB="cd39ba91657843cdaa9c486c40e28549a5c46c8b21c62711fbea0d1a34a70b91e906e58c58a13804cca1adc8ac353eaf996107633b46b3c70c87ae6b0788bec28e1b7882105fabb8980c3aaa0f219a429a40d9d3b427022dbaf449ccc27b503f5442134d223f177748255a370b1318b1d84980419ddaccc1939122aa386ea3048be1d8dd812ab9d1aead78a2b2ca629f64794afaa1aa953afdc6c1bd7fdb11eb78741a9604e66c6240212c66e673f647098d2b1991cba99d0a0b60b021616faac3bd695e3455504854", @ANYRES16=r5, @ANYBLOB="000428bd7000fddbdf25050000000500010000000000"], 0x1c}, 0x1, 0x0, 0x0, 0x4004040}, 0x4000001) sendmsg$NLBL_UNLABEL_C_ACCEPT(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x1c, r5, 0x200, 0x70bd29, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}]}, 0x1c}, 0x1, 0x0, 0x0, 0x400c000}, 0x40000) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000003c0)}, 0x0, 0x0, 0x1}, 0x0, 0x3, 0xffffffffffffffff, 0x0) pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000000180), 0x0) sendmsg$BATADV_CMD_GET_ORIGINATORS(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x2c, 0x0, 0x1, 0x70bd2c, 0x25dfdbff, {}, [@BATADV_ATTR_BONDING_ENABLED={0x5}, @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED={0x5}, @BATADV_ATTR_ORIG_INTERVAL={0x8}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8004}, 0x40408c0) 01:42:49 executing program 3: ioctl$sock_SIOCGIFINDEX_802154(0xffffffffffffffff, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_ADD_DEV(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x30, 0x0, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8, 0x2f, 0x4}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r0}]}, 0x30}, 0x6, 0x0, 0x0, 0x4000010}, 0x0) r1 = perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe, 0x0, 0x1f, 0x0, @perf_bp={0x0}, 0xc030, 0x0, 0x2, 0x0, 0x9}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) syz_open_dev$loop(&(0x7f00000001c0), 0x75f, 0x103382) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f00000010c0)=ANY=[@ANYBLOB="00e193e1a41d28e59803e7a9f69459d7269395402d80e8869430a8dcca000000006e11892c027ea74d0c40000000004b5a60840c9a762f720d13efa1bc9e3d826c524de83c24460df69f6d8ad29a69a215502457de71617ff30f0305068597cea0d6746006e61e064a5fae3e7eb3084632412f3e11faad9fb94000f269bf1c059f5ea7d655160900bc274eb970ef36"], 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x1, 0x1}, 0x20) r3 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r3, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r4 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r3, r4, &(0x7f0000000240)=0x208, 0x9) r5 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700), 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r4, &(0x7f0000000040)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000001340)=ANY=[@ANYRESDEC, @ANYRES16=r5, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002c4bd007b333c6ec1b1fd5b8b01f7dfe7e3996772fc12b05b245ee1735be6071e583078abc90d94248538991e5fcf2dc96a0ed8defc60b1c608a1b8eecc0a2fc4dc983e0ddb182d2fcdd95c9d3422c0bb53530b06b41c68baa2cc58db4e2166ce7a610000ffedff581bd7ba9d2c6aafce42270343107f695871e73e8bd41867ef145a9223bdb1229729464c36aca08d609c170b21843de1ec26b8f19b7f05e8296b2947cfac6543c35c52f813ec21a3c5866da363e3c39823c4915145a768d141ec5dd3a3734edb6ffed23f0a46da5ff09d3dbb1efc3ed81e4e9acc99321fb13bd2aa14fa0ba5090ba5b4429c1978225b2904f3ebee343d0d1d29500082f45f57c2a981b31bee9fec3ac6c60bfa8bb7c5be31e04f5faa3325ef5bc53ce0a5fb9d104d33ee6545a98c1b9ee188e53858796183d1384e77838d42de82e621bed06e8561328f955dd0db5a1b3f98dc264f144bf22881f215ee31099e4b5f297c2493351c8af29c3e311838c912b29a3961b1d7d2b1b70524d42d37a6dc7f65a2fc59e1bdab822caa31b01c92a69c7cab33322a48d123440d2d2819f819814f15701d66f7f4b38e8275d519350d9bb2634128a54e37b4558b3cce19bd3a63e5e307b24ccecf30e459460045c126023ff5e52b086fb1e38e07c427bb11167734f7c774d4f2cc89158dcfd8fe6e9d0000000000000000000000000043391a787bbc5a8630be680e8e67c75f90b73f8ca41063e4b372ed22a060a42cac2a2727170e0f0b59cbcff86e52ba6aa35b763197afbedf56", @ANYRESOCT=r2], 0x1c}}, 0x20008004) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000200)={&(0x7f0000000780)=ANY=[@ANYRES32, @ANYRES16=r5, @ANYBLOB="000400007000ffdbdf2502000000280007007379737465000000006f626a6563745f723a7379736c6f67641e06011400ff036970766a616e3100000000000009000000000300fc020000000000000000e7ffffffffff1300060076657468305f766972745f776966690008000500e000000214000300fe800014000300fe800003ff595233d345c01369c6deffffff00000000000000002d2500070073797374656d5f753a6f626a6563745f723a640000000000000000040000003000000000270007007379737405005f753a6f626a6563745f723a696e697472635f657865635f743a73300000f925c25b5fef910a55acc660e2df06000000f095d8a4d1160efc91276d17ebc6894a49968617032133be8589c046c39ab149d897a6a12acdece1097247d8c1c1b9f8b40ecfb6fda0a69ffabd0a5ea404af38d4a3aa2310ca23de9438742517b5d28a3bef6d7872216e75f46549c9da7db425166f324b9d646e68c0a7ac35dda35100007fb1373c5a7320242bb8af55bc2d1c77d71dbb6d19d3a57d8aeaa0b5273e5cf84106c24190a295b105000000000000006d7f3f0e6a98b6d34d9a711c2dbd3e4ae311b899caba10777a1ae7e105c440cdbb3c1bd31d5a6fffd9e7f83365fc55cbb66152ddb5979ded05c39b022fd6a6c8c592b55b8a8cdfe6c84f9a721861e4ae1e50610e9a566512dc40ff5e8bd3553ff26de8902b520331fa7a11fdbf5713c9f088b3c068e6bfad00000000000099fdac3cc45bae355dda08e41952322910111e7b2ce0045c44e6dd61d5073ca45a9f9ae3a5e0ea697e490a3dbceb9e142e6623dd34afc96b35903bb92400a877325c8f057313864ba62a8ef0028b4cd80a334b207453fda1934133364d1b0d7d0f2411d83c78ee15f45e30605f60015eecff668e2289dce80c306cb33138c29b1a8608c8", @ANYRESHEX=r1], 0x100}, 0x1, 0x0, 0x0, 0x8000}, 0x1) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)={0xffffffffffffffcf, r5, 0x300, 0x70bd2d, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_SECCTX={0x28, 0x7, 'system_u:object_r:anacron_exec_t:s0\x00'}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @remote}]}, 0x50}, 0x1, 0x0, 0x0, 0x493505b87b315a90}, 0x4040000) sendmsg$NLBL_UNLABEL_C_STATICLIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000100)={&(0x7f0000000500)=ANY=[@ANYBLOB="cd39ba91657843cdaa9c486c40e28549a5c46c8b21c62711fbea0d1a34a70b91e906e58c58a13804cca1adc8ac353eaf996107633b46b3c70c87ae6b0788bec28e1b7882105fabb8980c3aaa0f219a429a40d9d3b427022dbaf449ccc27b503f5442134d223f177748255a370b1318b1d84980419ddaccc1939122aa386ea3048be1d8dd812ab9d1aead78a2b2ca629f64794afaa1aa953afdc6c1bd7fdb11eb78741a9604e66c6240212c66e673f647098d2b1991cba99d0a0b60b021616faac3bd695e3455504854", @ANYRES16=r5, @ANYBLOB="000428bd7000fddbdf25050000000500010000000000"], 0x1c}, 0x1, 0x0, 0x0, 0x4004040}, 0x4000001) sendmsg$NLBL_UNLABEL_C_ACCEPT(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x1c, r5, 0x200, 0x70bd29, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}]}, 0x1c}, 0x1, 0x0, 0x0, 0x400c000}, 0x40000) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000003c0)}, 0x0, 0x0, 0x1}, 0x0, 0x3, 0xffffffffffffffff, 0x0) pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000000180), 0x0) sendmsg$BATADV_CMD_GET_ORIGINATORS(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x2c, 0x0, 0x1, 0x70bd2c, 0x25dfdbff, {}, [@BATADV_ATTR_BONDING_ENABLED={0x5}, @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED={0x5}, @BATADV_ATTR_ORIG_INTERVAL={0x8}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8004}, 0x40408c0) 01:42:49 executing program 2: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x7) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000002000)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) symlink(&(0x7f0000000140)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', &(0x7f00000002c0)='./file0\x00') r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x11, r0, 0x0) pipe(&(0x7f0000000000)) socketpair$unix(0x1, 0x0, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) pwritev(r1, 0x0, 0x0, 0x4, 0x0) perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) creat(&(0x7f00000000c0)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', 0xfbffffff00000000) unlink(&(0x7f0000000300)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00') 01:42:50 executing program 1: ioctl$sock_SIOCGIFINDEX_802154(0xffffffffffffffff, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_ADD_DEV(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x30, 0x0, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8, 0x2f, 0x4}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r0}]}, 0x30}, 0x6, 0x0, 0x0, 0x4000010}, 0x0) r1 = perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe, 0x0, 0x1f, 0x0, @perf_bp={0x0}, 0xc030, 0x0, 0x2, 0x0, 0x9}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) syz_open_dev$loop(&(0x7f00000001c0), 0x75f, 0x103382) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f00000010c0)=ANY=[@ANYBLOB="00e193e1a41d28e59803e7a9f69459d7269395402d80e8869430a8dcca000000006e11892c027ea74d0c40000000004b5a60840c9a762f720d13efa1bc9e3d826c524de83c24460df69f6d8ad29a69a215502457de71617ff30f0305068597cea0d6746006e61e064a5fae3e7eb3084632412f3e11faad9fb94000f269bf1c059f5ea7d655160900bc274eb970ef36"], 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x1, 0x1}, 0x20) r3 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r3, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r4 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r3, r4, &(0x7f0000000240)=0x208, 0x9) r5 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700), 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r4, &(0x7f0000000040)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000001340)=ANY=[@ANYRESDEC, @ANYRES16=r5, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002c4bd007b333c6ec1b1fd5b8b01f7dfe7e3996772fc12b05b245ee1735be6071e583078abc90d94248538991e5fcf2dc96a0ed8defc60b1c608a1b8eecc0a2fc4dc983e0ddb182d2fcdd95c9d3422c0bb53530b06b41c68baa2cc58db4e2166ce7a610000ffedff581bd7ba9d2c6aafce42270343107f695871e73e8bd41867ef145a9223bdb1229729464c36aca08d609c170b21843de1ec26b8f19b7f05e8296b2947cfac6543c35c52f813ec21a3c5866da363e3c39823c4915145a768d141ec5dd3a3734edb6ffed23f0a46da5ff09d3dbb1efc3ed81e4e9acc99321fb13bd2aa14fa0ba5090ba5b4429c1978225b2904f3ebee343d0d1d29500082f45f57c2a981b31bee9fec3ac6c60bfa8bb7c5be31e04f5faa3325ef5bc53ce0a5fb9d104d33ee6545a98c1b9ee188e53858796183d1384e77838d42de82e621bed06e8561328f955dd0db5a1b3f98dc264f144bf22881f215ee31099e4b5f297c2493351c8af29c3e311838c912b29a3961b1d7d2b1b70524d42d37a6dc7f65a2fc59e1bdab822caa31b01c92a69c7cab33322a48d123440d2d2819f819814f15701d66f7f4b38e8275d519350d9bb2634128a54e37b4558b3cce19bd3a63e5e307b24ccecf30e459460045c126023ff5e52b086fb1e38e07c427bb11167734f7c774d4f2cc89158dcfd8fe6e9d0000000000000000000000000043391a787bbc5a8630be680e8e67c75f90b73f8ca41063e4b372ed22a060a42cac2a2727170e0f0b59cbcff86e52ba6aa35b763197afbedf56", @ANYRESOCT=r2], 0x1c}}, 0x20008004) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000200)={&(0x7f0000000780)=ANY=[@ANYRES32, @ANYRES16=r5, @ANYBLOB="000400007000ffdbdf2502000000280007007379737465000000006f626a6563745f723a7379736c6f67641e06011400ff036970766a616e3100000000000009000000000300fc020000000000000000e7ffffffffff1300060076657468305f766972745f776966690008000500e000000214000300fe800014000300fe800003ff595233d345c01369c6deffffff00000000000000002d2500070073797374656d5f753a6f626a6563745f723a640000000000000000040000003000000000270007007379737405005f753a6f626a6563745f723a696e697472635f657865635f743a73300000f925c25b5fef910a55acc660e2df06000000f095d8a4d1160efc91276d17ebc6894a49968617032133be8589c046c39ab149d897a6a12acdece1097247d8c1c1b9f8b40ecfb6fda0a69ffabd0a5ea404af38d4a3aa2310ca23de9438742517b5d28a3bef6d7872216e75f46549c9da7db425166f324b9d646e68c0a7ac35dda35100007fb1373c5a7320242bb8af55bc2d1c77d71dbb6d19d3a57d8aeaa0b5273e5cf84106c24190a295b105000000000000006d7f3f0e6a98b6d34d9a711c2dbd3e4ae311b899caba10777a1ae7e105c440cdbb3c1bd31d5a6fffd9e7f83365fc55cbb66152ddb5979ded05c39b022fd6a6c8c592b55b8a8cdfe6c84f9a721861e4ae1e50610e9a566512dc40ff5e8bd3553ff26de8902b520331fa7a11fdbf5713c9f088b3c068e6bfad00000000000099fdac3cc45bae355dda08e41952322910111e7b2ce0045c44e6dd61d5073ca45a9f9ae3a5e0ea697e490a3dbceb9e142e6623dd34afc96b35903bb92400a877325c8f057313864ba62a8ef0028b4cd80a334b207453fda1934133364d1b0d7d0f2411d83c78ee15f45e30605f60015eecff668e2289dce80c306cb33138c29b1a8608c8", @ANYRESHEX=r1], 0x100}, 0x1, 0x0, 0x0, 0x8000}, 0x1) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)={0xffffffffffffffcf, r5, 0x300, 0x70bd2d, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_SECCTX={0x28, 0x7, 'system_u:object_r:anacron_exec_t:s0\x00'}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @remote}]}, 0x50}, 0x1, 0x0, 0x0, 0x493505b87b315a90}, 0x4040000) sendmsg$NLBL_UNLABEL_C_STATICLIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000100)={&(0x7f0000000500)=ANY=[@ANYBLOB="cd39ba91657843cdaa9c486c40e28549a5c46c8b21c62711fbea0d1a34a70b91e906e58c58a13804cca1adc8ac353eaf996107633b46b3c70c87ae6b0788bec28e1b7882105fabb8980c3aaa0f219a429a40d9d3b427022dbaf449ccc27b503f5442134d223f177748255a370b1318b1d84980419ddaccc1939122aa386ea3048be1d8dd812ab9d1aead78a2b2ca629f64794afaa1aa953afdc6c1bd7fdb11eb78741a9604e66c6240212c66e673f647098d2b1991cba99d0a0b60b021616faac3bd695e3455504854", @ANYRES16=r5, @ANYBLOB="000428bd7000fddbdf25050000000500010000000000"], 0x1c}, 0x1, 0x0, 0x0, 0x4004040}, 0x4000001) sendmsg$NLBL_UNLABEL_C_ACCEPT(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x1c, r5, 0x200, 0x70bd29, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}]}, 0x1c}, 0x1, 0x0, 0x0, 0x400c000}, 0x40000) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000003c0)}, 0x0, 0x0, 0x1}, 0x0, 0x3, 0xffffffffffffffff, 0x0) pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000000180), 0x0) sendmsg$BATADV_CMD_GET_ORIGINATORS(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x2c, 0x0, 0x1, 0x70bd2c, 0x25dfdbff, {}, [@BATADV_ATTR_BONDING_ENABLED={0x5}, @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED={0x5}, @BATADV_ATTR_ORIG_INTERVAL={0x8}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8004}, 0x40408c0) 01:42:50 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000000380)=@newlink={0x48, 0x10, 0xc3b, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @erspan={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_GRE_ENCAP_FLAGS={0x6}, @IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_ENCAP_DPORT={0x6}]}}}]}, 0x48}}, 0x0) 01:42:50 executing program 0: symlinkat(&(0x7f0000000100)='./file0\x00', 0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00') utimensat(0xffffffffffffff9c, &(0x7f0000000540)='./file0\x00', 0x0, 0x2) 01:42:50 executing program 0: r0 = perf_event_open(&(0x7f0000000040)={0x5, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, @perf_bp={0x0, 0x8}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000040)={0x5, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, @perf_bp={0x0, 0x8}}, 0x0, 0x0, r0, 0x0) 01:42:50 executing program 1: r0 = openat$dsp(0xffffffffffffff9c, &(0x7f0000000440), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045006, 0xffffffffffffffff) 01:42:50 executing program 0: mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x2000002, 0x200000005c831, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000840)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x800000, 0x9) 01:42:50 executing program 3: ioctl$sock_SIOCGIFINDEX_802154(0xffffffffffffffff, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_ADD_DEV(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x30, 0x0, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8, 0x2f, 0x4}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r0}]}, 0x30}, 0x6, 0x0, 0x0, 0x4000010}, 0x0) r1 = perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe, 0x0, 0x1f, 0x0, @perf_bp={0x0}, 0xc030, 0x0, 0x2, 0x0, 0x9}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) syz_open_dev$loop(&(0x7f00000001c0), 0x75f, 0x103382) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f00000010c0)=ANY=[@ANYBLOB="00e193e1a41d28e59803e7a9f69459d7269395402d80e8869430a8dcca000000006e11892c027ea74d0c40000000004b5a60840c9a762f720d13efa1bc9e3d826c524de83c24460df69f6d8ad29a69a215502457de71617ff30f0305068597cea0d6746006e61e064a5fae3e7eb3084632412f3e11faad9fb94000f269bf1c059f5ea7d655160900bc274eb970ef36"], 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x1, 0x1}, 0x20) r3 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r3, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r4 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r3, r4, &(0x7f0000000240)=0x208, 0x9) r5 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700), 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r4, &(0x7f0000000040)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000001340)=ANY=[@ANYRESDEC, @ANYRES16=r5, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002c4bd007b333c6ec1b1fd5b8b01f7dfe7e3996772fc12b05b245ee1735be6071e583078abc90d94248538991e5fcf2dc96a0ed8defc60b1c608a1b8eecc0a2fc4dc983e0ddb182d2fcdd95c9d3422c0bb53530b06b41c68baa2cc58db4e2166ce7a610000ffedff581bd7ba9d2c6aafce42270343107f695871e73e8bd41867ef145a9223bdb1229729464c36aca08d609c170b21843de1ec26b8f19b7f05e8296b2947cfac6543c35c52f813ec21a3c5866da363e3c39823c4915145a768d141ec5dd3a3734edb6ffed23f0a46da5ff09d3dbb1efc3ed81e4e9acc99321fb13bd2aa14fa0ba5090ba5b4429c1978225b2904f3ebee343d0d1d29500082f45f57c2a981b31bee9fec3ac6c60bfa8bb7c5be31e04f5faa3325ef5bc53ce0a5fb9d104d33ee6545a98c1b9ee188e53858796183d1384e77838d42de82e621bed06e8561328f955dd0db5a1b3f98dc264f144bf22881f215ee31099e4b5f297c2493351c8af29c3e311838c912b29a3961b1d7d2b1b70524d42d37a6dc7f65a2fc59e1bdab822caa31b01c92a69c7cab33322a48d123440d2d2819f819814f15701d66f7f4b38e8275d519350d9bb2634128a54e37b4558b3cce19bd3a63e5e307b24ccecf30e459460045c126023ff5e52b086fb1e38e07c427bb11167734f7c774d4f2cc89158dcfd8fe6e9d0000000000000000000000000043391a787bbc5a8630be680e8e67c75f90b73f8ca41063e4b372ed22a060a42cac2a2727170e0f0b59cbcff86e52ba6aa35b763197afbedf56", @ANYRESOCT=r2], 0x1c}}, 0x20008004) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000200)={&(0x7f0000000780)=ANY=[@ANYRES32, @ANYRES16=r5, @ANYBLOB="000400007000ffdbdf2502000000280007007379737465000000006f626a6563745f723a7379736c6f67641e06011400ff036970766a616e3100000000000009000000000300fc020000000000000000e7ffffffffff1300060076657468305f766972745f776966690008000500e000000214000300fe800014000300fe800003ff595233d345c01369c6deffffff00000000000000002d2500070073797374656d5f753a6f626a6563745f723a640000000000000000040000003000000000270007007379737405005f753a6f626a6563745f723a696e697472635f657865635f743a73300000f925c25b5fef910a55acc660e2df06000000f095d8a4d1160efc91276d17ebc6894a49968617032133be8589c046c39ab149d897a6a12acdece1097247d8c1c1b9f8b40ecfb6fda0a69ffabd0a5ea404af38d4a3aa2310ca23de9438742517b5d28a3bef6d7872216e75f46549c9da7db425166f324b9d646e68c0a7ac35dda35100007fb1373c5a7320242bb8af55bc2d1c77d71dbb6d19d3a57d8aeaa0b5273e5cf84106c24190a295b105000000000000006d7f3f0e6a98b6d34d9a711c2dbd3e4ae311b899caba10777a1ae7e105c440cdbb3c1bd31d5a6fffd9e7f83365fc55cbb66152ddb5979ded05c39b022fd6a6c8c592b55b8a8cdfe6c84f9a721861e4ae1e50610e9a566512dc40ff5e8bd3553ff26de8902b520331fa7a11fdbf5713c9f088b3c068e6bfad00000000000099fdac3cc45bae355dda08e41952322910111e7b2ce0045c44e6dd61d5073ca45a9f9ae3a5e0ea697e490a3dbceb9e142e6623dd34afc96b35903bb92400a877325c8f057313864ba62a8ef0028b4cd80a334b207453fda1934133364d1b0d7d0f2411d83c78ee15f45e30605f60015eecff668e2289dce80c306cb33138c29b1a8608c8", @ANYRESHEX=r1], 0x100}, 0x1, 0x0, 0x0, 0x8000}, 0x1) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)={0xffffffffffffffcf, r5, 0x300, 0x70bd2d, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_SECCTX={0x28, 0x7, 'system_u:object_r:anacron_exec_t:s0\x00'}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @remote}]}, 0x50}, 0x1, 0x0, 0x0, 0x493505b87b315a90}, 0x4040000) sendmsg$NLBL_UNLABEL_C_STATICLIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000100)={&(0x7f0000000500)=ANY=[@ANYBLOB="cd39ba91657843cdaa9c486c40e28549a5c46c8b21c62711fbea0d1a34a70b91e906e58c58a13804cca1adc8ac353eaf996107633b46b3c70c87ae6b0788bec28e1b7882105fabb8980c3aaa0f219a429a40d9d3b427022dbaf449ccc27b503f5442134d223f177748255a370b1318b1d84980419ddaccc1939122aa386ea3048be1d8dd812ab9d1aead78a2b2ca629f64794afaa1aa953afdc6c1bd7fdb11eb78741a9604e66c6240212c66e673f647098d2b1991cba99d0a0b60b021616faac3bd695e3455504854", @ANYRES16=r5, @ANYBLOB="000428bd7000fddbdf25050000000500010000000000"], 0x1c}, 0x1, 0x0, 0x0, 0x4004040}, 0x4000001) sendmsg$NLBL_UNLABEL_C_ACCEPT(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x1c, r5, 0x200, 0x70bd29, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}]}, 0x1c}, 0x1, 0x0, 0x0, 0x400c000}, 0x40000) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f00000003c0)}, 0x0, 0x0, 0x1}, 0x0, 0x3, 0xffffffffffffffff, 0x0) pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000000180), 0x0) sendmsg$BATADV_CMD_GET_ORIGINATORS(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x2c, 0x0, 0x1, 0x70bd2c, 0x25dfdbff, {}, [@BATADV_ATTR_BONDING_ENABLED={0x5}, @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED={0x5}, @BATADV_ATTR_ORIG_INTERVAL={0x8}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8004}, 0x40408c0) 01:42:50 executing program 2: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x7) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000002000)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) symlink(&(0x7f0000000140)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', &(0x7f00000002c0)='./file0\x00') r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x11, r0, 0x0) pipe(&(0x7f0000000000)) socketpair$unix(0x1, 0x0, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) pwritev(r1, 0x0, 0x0, 0x4, 0x0) perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) creat(&(0x7f00000000c0)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', 0xfbffffff00000000) unlink(&(0x7f0000000300)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00') 01:42:50 executing program 1: setsockopt$inet_sctp_SCTP_DISABLE_FRAGMENTS(0xffffffffffffffff, 0x84, 0x8, &(0x7f0000000080)=0x5, 0x4) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) semtimedop(0x0, 0x0, 0x0, 0x0) semget$private(0x0, 0x0, 0x0) semctl$IPC_RMID(0x0, 0x0, 0x10) 01:42:50 executing program 0: mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x2000002, 0x200000005c831, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000840)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x800000, 0x9) 01:42:50 executing program 1: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f00000066c0)={0x50, 0x0, r1, {0x7, 0x21}}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000004300)="1827dacb7cd53e01b4852de2d748e21fa033071acb841f449efc23d452101807ae5c485596338a6d31388444ae8ade7b60a85a37d3db29ef19ae4c4d4db9c2c82c7908debb2e2b5ebef336aad77bef942d064955079af4e914f372cec8ed0440f6ee0bded3c565283bdb75124011227712d5f01e8c1eb86cf69205a8b5b374edee58ebaf09d62191cf41190260c30a719bbc9bc29be0d60c678791de6b236c9b5a057247c281937c2b2ae747c858532113e0a1e7af49298ef54f15572301d3c907b02529bc470beab8f9208cf92b17a9df99ceff90a1e384d6bda3fe823d8eff0e2229a43c31781935de69466b1082c0f88d3716f234e1d6e17e1360f6621e686d661af20eaf08cc97c261590ac3291667a87bbf66f86d9005f034ea5517b2187b6dfecebc1cb8fc4dab511a2890a68ed185483c548168803f353520cc6f820d1349ac985e12a3ff6e8a78b29ed97213962fca3ba7d04d1ab4dbcfe93a88831f784ed278d079eb3e2e69d3161600fc7b0dae825b510a59c14315fc6ca0ce68dafd088f02a92ae0ab3f15ca1a863b640e8e4a89407a8b8d752892e1f8b0e793d430c3ec46cbe2b6a4bdad728c34e734864aeac2b6b2eb51c3a2f9e6773c5834166511086dc35847cfa17974889795ed305353d41c9399bb95936a3c1be1099f21795cfc04d9699929eca65a0edcae5d4e564404e5292dc15f40d78d94be9e8dca92983bc71729ab30a70455bbfd5a98d97cab9778d9b7b69fb20019e7e7c7bc17c84da1dab53a187a116ac229e00312c95b1074afff18a8771a4ab47be2205745836dc3cc1ce531fe697e9a734698fb2343b331ad9f13214d1d7d511dc646fb8b3b70fb4611e6d102a0e2bda6311ca824537f699efdefbd8a3a523e26272f07abd75504188edc788af9c75aabf77f4ac883573f63ded319fa5a8b6317d4490391879629446fa5ea4c695f3db9739f7bc1da7a19f3e1c0ccca98307b3a7a38272b7455c8957b17138c9e170c27895fcf47eb5530948b7cc43d61a621293b0c83dc893f02def2b42a8bd7ad6c9cdfeb7a3bde141e98e5af7500b07d85c6314949b754c88cc666bdaaec89271f56ec11bfa0aa337feb1140b8a07fbd5c79bdd0239f8aa1d454c0e5a16e99d38d1212ff709bb1964c317c98bfef37b56944666f0320ec85b5b1e07731de5584901f8c65e14fd2ba83b500fdbb137c7cdf91d66400688a5da6405ca7e0b8107ed65be0ef5c6234b62f613e7e76d6f3d5cc12bde4342391524e25bab6ec0a358c6c66b7cdbdd9301f91589af65cb7c02fe8271a798c5e122fef9e7581d28884d33d01f0475c9ac052d2d014bdc09e2738487742f7bff40facf2e96dcdfefa336c46923b77b334daf7b01a9fd5d957a29b83adf6f23acc507a58dabe6b2804532bc1a865a01b1126127f7c6a8029531db8a51d8472c0abffca5be97b9b5433ad220ab9ad65cf94a1167f3fb2b8804ce66f9f5cae212724b2b3a04343580f5919f446f40eaa0177f25ebe68ee7c7a35d9d5ef6e1cb220eaf8ad9b269b15c2ab9692c345f3c3bd5965f06adfdfa2d672b5e3184ebe192f73e70e829adfac2e6318d238dceb6e3d7d1422d57ff7124793b92966bd229c0725b0d591e59c57f98841b5ffad16d0ae903406014d3e632d0654e9084f870e124046f3ebae3ecbf5c5365aa32ebf169ccf1243dc8fb296cef006d5f00447ecd2980abb98e3b6e6bf6181e5df7994ea1c1273784af0d92a57394c71926dc143228a8ade103ff61860d21ffd467b2c41bbbd2490dd36add865828fb64396f16831a3a74f57ee2254cc93b25b7219bc00339a2518be3caa4765ed63295c84f1d59144e96aacfb57c6441f64f29729bb7d68127ae2472bbf089570003b1e820191878ab6f53db01c180751e34672cf5a96edfefe164580d6101672281b59f58f3c7b1222f2b6d19c8a8e5f9ad539045f7dbadaa767f993da974dae20744bf5ad0e0ec71ee97696659981e067463c78bd9337b8bcfc070e7e5b47303eaaf9651c19f19a15eab8e2c47041828be50994b5695ee5fbc9a9ecacf9de714215eb7992c07f262db8843937934fdf6fdd31d0f3a44f074f3a1dd6622dbdb3364df79d5ec90ead64c29e05a6c5358cc6b9d8493b7e1c53a91c37aa3653cf2002072461f4b99fcdec142e53b87f61ea55cdb834dd4e03f2f57a206cabe2f3f3cbfad3b4117bf4434718022b09a8419959a9bb97fba50a6b3b9a844cd1301de7bae89f8d1bf549b88dd2bd0697e70ce89cc2e383221ca2ae9d3671a730466c250a8963f6411a42ecc85a00c01b2b43c39432d5065a5fd11c29a23169891cd674cf3a31e82587a26c8d48aa3debeaf067a26669599fae850126dd516512e0cf5ab556b5582add7d2f665723a2244007ddc302f0ec29da73578a80c998849be2f766a334c7ade4dd46f37d648899da5cf7437af2d6e8d03d934903387c4c7e260909d59b546dfac9ffdce11fb92e5bb6ff6836fa0e6d0c5942b4660fdd68d3cc8a76ce0960584dbf634695ca75752b19067ba535e4779189b111c9a3e0ea877067c046d10021b0e60eae8d5dd7536b4474d8ab74679e2d8e68bc9208db5561e28d0bec177cda1e2f944a4cd97b6432033ce40063cbced6b36e486b096adffd699c9fdf58d5ec54bf4afdf52493fbfcd91e807da31ff675b567058697aa088118a6ecf1b7c7dceba3ba87d59d882fce3b3b676763ed658e991c4fd5746946815af0a2c1e96aeb27383cf6638d6d7e1932b3a028250fee18db7c46acd7fab33ab22ff91cf78029a4ed96494151652213fb7dcca0a8944568bf84aded113e20e6897d6b8f6f9fe5f6975c7cbf999d15ce5f8d50454d58e7a5b285fce4ef9d14758cf4a9619b17275fa66f2c6c48d44da95657708062bec9b633ba2df082766f549c5c1b661fc8a5f7b8b6699503da733a66df44f116c4a470b73648cb64bf04101e7bc1d048d230addbf22a5b98aea08beda847e33552faf771d9b181f610ce34530543096257856ea3a08276bec1ea40e7bf6957143623ef47b5c41e61d076eef0a5195431b49beab9fd7f07b1a153491a7250a889b26ce657df550b226fb94cb5f52306f47ee3af4627ef0cdc0c50536af7b386440b878ed5d672670abdb3ea3e3c3c031e67293104a4d6476cf325f6fe4762ce2351dffac116387baadb82f987cab7fe88ce1be7d44ccd572bfd29114d2ce4d5e90f4d6bf7be39ce25ab7de52815e4059d783564d518dd208714de1c524ff69a4ec5f29bb631eff605cc6f30a0bcfba44810a3a6fc263891791b51cb4be0d60d3d0798e38b01b9a21150589a436fb4df4584bf6e7094176884921bbb0f87b1bcdfb6df8aef8f58393800816c15647650448da0ba5bb76f7bf76c3be83aceab79eedae80e1fb46a2557a9485aa7a8053a5835e609fdf54222f5b43cba63c9508dbbd0e22953768f88e2070236d7255f682464d09c7ba12b2e8787a1bc889af686d2c355961d8f92f877bb09baef09d70b5b306047d8d3cb97fb06ba8d09bfbae02314dddf98092b6ef275743e9deb391995003d83b549ecd604daa9bd34ef311aeced5db504242241c0717f8302efedcd3fd43686a7ee21c73ba3c5af98c93d09158c9011e11bc4b51a3a4e904c4b6ced1a786adf310073405c27df6aae6d5da4398d78622ba9144ad09902da49b77046ad22fd303f07c1533f271eb82794b402382d2971f46c7907069907a7afb9e94dd4071685f91cfca10d86aad7c385e4d90f0d44d37588a8f1f267c1d8445634ca4194d1a0c5894a6d00cae3af3aec991cfefda59e3f46c0a6e2fac55b35259a9960ec7dbd1c7dd128368393f0de1e0994ba1f5b41762c22213f56bbf4c2cca458dd5731f9379f0651ba61fbf17a5861eb417e20a7fc9df12c6771f5ab322213ec95beff96dc1811dd0f45be8fb1ed93c2cc01e694620b550e45bd265fb357f52699cf9ca3ddf331fe4d11c5e97bb57631d9c7620b5c19562c85ef8e04ecd5cd5b713fbd94b6b76331a83f304cd8ae1a903ffa722cf5697b1e1bde206735656ce57254744daff8013f47f9aa4f062d8c5956fa8df5ee79d6e6ffbc0c47cd0c99517a6d92fe8ad18c001be4b55af7a6533712c6a2ccb7e813016e7cb74a94bf2a2ce9b3b440faae19210d43320cb81a6472d1da775ca27f2b5bbe5964271eefccdfa0bd6b163357af4539fdb5d5e2e7e1795040776d4d75b70928b8efa954556f4d225bd9b6f9e5a71a8e7a3ef5c36d459233c66650ada1c55dfa02bca3997f93b92028881d9c3ec0e7e1a42c587482b0cfbc77e8520c6ca0f3e5127c96b41056b7279d9e62358e39dc95e779affaaaddc8e9ee66ba336feca8b957ccb4f352c0d162390e3bde27b15132407c97c3a6b5f1704e1e559ee12655a71d7dce3711c8af907d7d2875e2407ff8c59c5457678058d3d00a7971d239c1b1c67dac3ff3fbcc2d8c8035e31040118ac46ba5110a16aedd0b7f731a4f86a63a697501a664946eaf7da6d3cc2a296f294ee765b8f26363ba6116e0ea0ef8eabb0f1e7cc429611194cf0bb66463d26a82dd118cbbd3f1040dca2f5f82ac5eb5df41a4658fcb34b68066c5708a4a16c48fd290b32e392e7f5b662f4e3fa2d79a814f52824cf737872604672bdaf80fc527deb1f690339c92b6c6c6c8635de5a2e1a7ff617d0f1c11bc3a3504d0de94d77678025ab5bea511d783df148e58b0793251db3b7b9e03bb201be89d5939c0a60ab548460d543d015082e00ad9d05418c327ebafbad7924aaf70e5fa6eb0be359b65ac2fbbcad495b17712e033cbf1853d1e2450ac4c8d19287074e76ca3d087d376b0f861b525d4949098dd4e3a3cc50118c8587adf6587ed9aa0352b7d812fe66bb64eb0c0f4d46822aa9c3d4848454d49b61cca24d7d6b82fafc5d8eb4e40e3665f24a95182b70b22c5f9303a49d1278f25de9855246c729fc8ba300fad799a949b9b0ce303477d22337d599d4c8441461d25725965183210a729fc59c4e5ddb45c0b9db06a09619e6009aa0653cd1e8b06d0e55c133d5022dcf91f12a21e9f977de2485f886c5133a8837987e7bc90662156b0250cc76cb03ad9fa36733ef371479ea9c1313682866b963f1f96bba8c658e2c6a10e5e29d8a07d4999b735bdef7f60326aa64fc198c3f2670fa4a44717fc613f1282fc324fd9476e6da7866cb6ce1efa8a1577088f2aa757584b8ade9f2ba34a2287870da2cc7704008b6e057eaf8bfe2fd0d6d60cf03e1751d2284c6439ee6079708451e64b1f7e7dc8400ae99e0d834a7daba6c3a8219812adff0760129e18a41eb0448c57a909714cd395933436e9ae040277f213e30ab7b6e7e3109642ffa051b3c423f6ffa7830c75d229acd617d6bc1f7948f09238f5437ff4fb302034fec1fed96c55c46c7d70d6ab3018c1a3d76120077f815fa67ec8815f44fd0cae7d1509d217a432ce904c778f201a508fdea4672e9cff797bd1d0f58d46f39396e148573ae9b2468e4ee5bd9a5abce8166333c524f0a104da2e3c99ddbc51fc6f4e7c628af79c93d0fbe61b1c4a72b11fe423597f126467a01ee6dad848f24abdfe453592f02c84e017fe553f27e639f88824d70aeeaca54758184f95f12d696291798046bb075fefd6876e8ef893f5b9340e21fc63c67feb6f03055f2f394a591164a61b1aab14c468998175b75974543e79b241dc69a6e346374dec5eebae154e36f29d17273e608ce69d539a5e4702f474bad66fbf3348f0c859bf884576faeeac754e290ec97e863526e55420da72b6b6cd209e6685ffb64e9865d00eb017c843d3c0cf3ab26f53f76316fbe009f0b2c4932b0694fecf1a148dbead458ca9f5f6d678d6c6fbd23fb6aea9e951914300eaaaf69bf35d4ce11c0349a02aa14529a083e701eac0177d4ddb305a9f9a5cf8bacd96327a161bb8b877813ea022d62bac8f0ab9eb5e9d145dda4b1fe79c0bee34c8bbfe866ba376d3a71b9809adda06e64eafaa6cf53fff8ed63e15525fd409e13b1809ae6e6e937acf858a59d2073b304171d5ab35ec92f66fbb2d4e34d46e886c3546c1026d0ff27821a15aa397dbc686540d546ea66fb43dcb9beaeadde6250cfe8e563f9033b432018c88bec07279c6a0228f3eb11031d3435d95c9c1789a5338f74aa6db2c853c87f8f2397f9067fa59774770f64b8ae42b9a07f85f1bcabbc6d3b3456a253bdb73ad3de0aa416589b722053c81db90e7b66a835d636615701e6869fef016bfaba9da0a869005ffc3174b605fdabdb8c7346262ce78a64aa7036960913edfffad202d664d1771018de43b6548a6672f48979b8e30017a93da2c093266306e09eb203fb37d7d54466fb26d4414ba88346d02d8811f100dcb0a3e50ae46247b986b928f12c1ad506c6b33b49d7e6955ae9619f73c79b72a95b053d53c4c54d36dceb8ae780b321aa41b5d61caa21a6c65329f08da522bbbb3d07501b39cc6bfbe4a2ef8054d7c57666bc805ed451517a1432b958141f3ce94752a67a17aadb41590037da8efdb251eb56de30b0e0e75adfbf4e06d4777f843a8d7c31e2ab62d98764217491d46960d67d3ee1213d150c28e75d1f440d41ffc3cf876554e2d4a354f70fce17e4c0fdc64992c32e785263ca4ffcab57d3d46d220627ed05f1628551e9843137996bc7a0b773e1ccfe5364216a8003757ffdc052d93793a3463baf4eef5dd283826f8510bb1f20505a6e61cb3d571d0f77e67ff3c0aa5ca91f6d68c7e0d2d79c649b091b30b2911c5c47157c9c531296eba681e039eaecab83722cc2fd5b91913a463ba9f693e34da60b1adb8ee9f4a83fa67e25f19e4cd6e19ed1381cba8b5b4591109637ae1f7f29b5495fc5f8057da565d937e7577735bd98fe626ce8568897d240f054ad69c8e0ca424d1be51b17d5e639253fb2fe6791e01edcf9c4f8404233d7f98b52c31c4996b6b63112d0126036ca20cf52a2da2478683c41bfd8fb5b34de59d5e87b5075e5e1d78ad06c6a2f6e662145be3d30d140b62c49df203350ea4412c97aaeec7aaa00d81b89f3b7295607840de2a8386f52012b5c4e6e0e1986565bc4f99b6bc10f3a2ab59783a8b9f3c696f741af0f51b6592c68ddff861fc7d2b16876b05a54eae9ec0e170fbf26d9358941c6cba50a5c41e77f72c7f41e0bbf6023f04f7701f676a64cb63ea1a8d373ee6a99ba56449699ccdf8a11dc7d840d695cd5ef987f74e5b16594cc8c6c2251c47b429281b6e34c0288c7242052ac3c9c63213f6ddb08726001e0afe1fb312d463db8722f1617972dc7f365de498027ef0b5c6d100e583348cd777a2afbfd60ef59969c8f88358b6995c177a7d7e69d86b11e36f42bae8c9af599d3f828447c31004000163bb74ef20f656f6a1c8159bd0f867f2e283c10656a40a397b2e514c19efb5d5a5f54316509801bd8208a2c84b2ef13e54d7b8af8787b826b50095a15e33a5e8e306454312a83af7869b7ba0039ca601751b580a9190435d35a8ce9d8e9558ca1bcea3cc3604f4e991aee79fd0d2393b9f87e8dac7782e837e1de5e88a7c79385a2b14556041f49c1113df43efd8aea14c4b651d713fc9989b2fd77ce13a98efef5e83cc6843d313117753d82870c5efec8cc6fd855ab6e0fc6d48c66874fdcb2d007db7fbb9371da3836eb23da1106283a20e32617bcaba574b7b6298d48334eaeef905ff348c2bfbc1c83a88d6915b644d1854161ab4f1d1db12e74de2853e48d1a10f9835c226bca6944d0de6a18e0e07df45ad72a7d354045a6997ffdee010e37091a3a5280e5db8aeea0245217a6f1160a6287d9a28c0eeabaebe755b9485da5b7ccb85166ed902e63200e5e8ac464124bef0196eddee6cfe90fce770b416817e1ca78494786bdaeafa3538841f74bbdb2585d63f667ef227287efa56c030c0999e9ead590f1ce383a138233235494ecec0aed97c803b4d7c4fb80ac9a3bcb1dd2bab51382a94195bee034c3f3d3d9efc44add83ec580a5cfe8f5942b1694b0ab3ef4b2d9f7c0b8634b056c6b6eeb946be1825fa452abdbc1545cd94774abed3fdc2b0399929298221030f6cd0a2b38490f5e4bfd53ee20de10eeb2ffacca980d40e0885cb91c94a4d81a61d863efd0f7a12da233e1dacf7af728950892ef887abcc5e4d08c6b57834a1e5dd1dfc69418fc681b47d8cd34c6a3846b0e1afdc7c7f9033ff817a72ac617c0a1e59e4e6ea40bd668c499f221c5f63700e74b68ba3045b4460f0fa60308cf8964d95237d888d5c1b1be0fa7bd2703eaeb0d2914b8d22cbd8693c16f21bb72566f38aa97e86f212557d40e10b285e1d4de0b153c8f91e168e9d0031bb7ee7fec5f0c3fbf15bc6fbceeae6dd363b7e9835b175b0be16a3348a2c2d07468449fbb2fcfca9e7d8b72b623355715a6a1edc87ea4c699ffeacb2277fbb5658a1eb12d0a7a93bf100ab11cf49b35c16a14044ac8e5bd69af05b252325f0eca41f90681b4a1ec399096939a96685926655a0c4d172d06646c87f35b65c0d7654882b79838f78c35febbdb378f9f28d7e6ba1c1fa191bbcdbf991731f546439a966e4f7a15c77367161bde14b731c9f2b91114fa46e02e70f07d3c40988e8140866ed3dcd98ef5524700deb75c1a6414016da0ce6845e936a8692b7beac01bc855a72a490c667c3b755ffaaa57af54af1bd07ae7b203be85f3653aa63cc5ae10f6e585c7bd8a5257604e82fad6c7be6f1a47eb665c1422c03d3263f351671a48bd5eed22077b8c16e706f009880941c29b90c29a11ef008a371b29200f32523b9847d911fab4ee1468bf98a49ff73703e2d9d7bbf6ae37459c3cb502541f304e1d5918518a06225b65f3b38b91f8e0b49a29ef9aacca369ce5cf8b45738e29118ab06078b885189acf4d0a5200b86cb2269dde90dfada27975dbe6ded12232c0faf7ea12ecacbdf416cff8632e48346478a75c0279c1920b7556fc6670704d5d97912c75d3a9cffe6891abdf747a6850ba7d9668e56c7e7ecc03c5c388e886bc984c8bfd9f470b7e4ea4d146c3c28e4f8ff82b9558266343036e6239a26f567f7633911ccc51522c29ff3ca36ad5b8cfd6ec1c86ae08f30d87a503c909e66dc278e9d14f3fae4bfa4813f315b1610ed76fc149d92f319044e813c3769d4978637e0ee732d3bb86e9fa584181f41d4304c07a1cb71d10f07da649288275a213eff161c536c7366d4c010cf9a4b1c2f2940607dc7468e51204c6983c554d616d48f93ae51e6a7769b3285785ae7bcba3cfb27879df1d7f1f18849a70814eb51df6d1d8cbe80b736cb38326f7db7a06e49cd4fe41b3f7a9156cfac9222ac23d13765e7f2910a365fb23a208f192cfca97b2b8a3de44a2d90d3c865bec109f4bdfb1d37216cf5f71a27c39a83b5562b0c06d76b46b2d8f5b15cb1765d6c78d065d24bedf72405dcb8e795fe183196a6b620f918a2dd7fdfac142aa653fd431ec153e3daac8f615a45b3a0d665d5fe36efb6e2f18b8399429e4f363748eddd5cd2a637e9a0a553fac6d05a3e2bd1b26f2f99433f8f59a3691417a4f35ff7d46a22e39e94641d942706850cb2843ff4a34122e37dcc8224ae9f6ab7f64ff4a0bcb0aaff2f429e4f0f5fcf90ab6a2c45e8f2408d9bbd4f60d6b01a0cf527895e1cd063b178b8973930b9488d81d3f0f7985b900d0a894c29642b809ef39294bfaaa5401f5ed50cbb91a047b60ad54b323a2f2ada04d19d6dbda02e0f22d4d6520f9db2263181c97c9bb74dd8a90adedc80bfd064eb103f67d02ea17571f870c779470bb6460c658da4c502b9a10c8050fc26ad5cc1ae1eb02f0d703d05b48f48ab8c9f9a1bd000181ccf929d45544b44e9a3cd0bcd412ad639323283ed229e5486a2a93babb165880a0a7329834bb51a0631cba5caa30637ca3f07074051c608b7c7170c8c415c2eb88bd6a798bd86953ff71052506ccf0e2357deff6cef24de5b7f68a17082c08d096e43fbe727ab0ab1aa27a703ccd58168039e50dce2d400ed7f2a217c1eea7b29455fbf910d36db324d1c6b53343a78484883ad100a0b5b28c74ab6296df5bf8048fb916e8ddda0ded3f5b08d262b9b1cb1ecb149c02a21490ebebe8856c844d448d2a3878dcc930c3c88d9addf73917e9d3f878fb12fba3e602cfde199a0e69eab56e3d4ffa01135b3145baa613be01f0b94af5bd3b8b432339c954f52b8551fd13790bc1ee18be226b819d8001a3da8e097f84c166e4002e4c1043d3a3721f05105cd17a278b9509d7a04826e8a5b4956bbf976ffb4857fd88da99cfea8d2e0a1c4f52f71f87cbee8c02fbf59b12bdaccb67d0b95f0a56693eafafeefce1953d708b56532ed5bbe12626a3d041c031b48a47b34c504f7dd57e21147b920c058385ddc8cbea5332086c269b0d5c2439f30fa431f88d1a10e25eba0df70d8617ecd5546314ffeae9c4baab872ab82a45eeaf0e1e1533e8a6189c324f31b652aeadc52981b66161313999c5a7bd7c79ef4ee55c7cb00ebd9637ffe01924508a44ab72ab16b70b8b815ce7d27772db315122f4a5a7679af5ac685c26320a71cdd8066b19f749705e2e35d1d9166ecb066053dd05a759270e119944cf99b918cb5e4e6c931031ae2eeffe349ac246c92174091c687c58879e1f05c43b010f7ec3f204c106cf60740b0bc2d355f57bbaec7d060dedab9aebaa4094e72ebffbf61cdfb7d69fbd146daea59339fa83c19c5f75b866af5e7f387740e675e1e2ba29c261d9e7237c6e9ef1b39a8fdacb44de0eaff5f4f9e3e42b75d0a37834eab0cf47acf65e882f0962e01982e783c0dae7efbc95dccb235562e5a2e04fd2b4b43388c0292e6e8198c6df0348920d6e1c8acdd2e892d3f7aef7703824dbb08695642f0e444ade6c4f1ec1e267feb5135cccd50fcde643acb66dbd18f507496957ced435e0db0a8e8441a8e2ebc365f995c32399f7d180b6faeb85ee1921b95f82f3194bed7d157e842257d2da26dfac90f32fb53147e48e232d5115f1cd12b45c55330b29775ab776599afa504b7fe114cd7fb3ab4eb6c30becb82f448b284b20010bea918019af99b2a9ccab1585aec19fd1abe8365a6023f96dddf1a37cce2734bb6585143729850bcd811787bd07cb5fdd57cc987f9278b7f5ef3c7529a9b6d20d18cc4446f1036cf7635da6732986c38df4785e2e428f14b84957319772bdbb7d2d2d20321e522b1ec6c807f3a3f575643d4b71e1bbd1e843b5816aa68900298f5058c65a9fe1022978a44a77bde2b99e221de97cd7fa6a2ea440220bac20e3e4c1e4224958aca15681d3a18f74218114c3e5eefa1fc16de8c07f1d1297b0e772d05f205337175c1dbe88dfc876dcfce367304afac68c41b98ed2ba3f04fd1b37db27dd5d9c9aafaeadfcc44585908ea655ffce1fc2516b060256777e8953e2a6861ec4460034691aed001ea2971627615fc7972773d6a8c343117bae3fc68cfd1f187c478c0f52e86b118c65c39848a8c582ed908fb1242ad3455288cc858e52e119d368e00783c2b8c2916ba564a3501326baefe1dcadac8b4b8b666f20a3a245ca171b43af", 0x2000, &(0x7f0000006d00)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006780)={0x90}, 0x0, 0x0, 0x0, 0x0}) openat$dir(0xffffffffffffff9c, &(0x7f0000002000)='./file0/file0\x00', 0x2c0, 0x0) syz_fuse_handle_req(r0, &(0x7f000000cac0)="e2d5b6fcc919d14b2d501af0eff7e5960873b634d20c6dd0acee8af0cda1d6ee70ed386ef7e2e3178260ddd0786044e13269c04063639562687ecf68f9ecbd5dab9ee5e7a490426e2772fe7944fb26972e6c784dea4ef85b19c6faa329d8d897b872c3e0a5af84d1b9ac91de052388b446da80eae1b86837c5abb55f9091294144d7beec6cfc4de07c3b8588907ef0ba4899a9ac0a171e41bc677b906725070f591da082711e5643a18fd05a5ba8eb175a405e211f47bc720dd5ad27d6d09be565e1d014029f4d1384a3b3c601a8d1da7d950dfc5e3315f494e61054166cbc4431924c53ddabfbdf83fd3f7325c9c1791d8261279dde76c626741fe121ae5a55e717ee24a79c5486076955376d1a7e89a486b836380535c91cbd9d26ff880a735efdd6909150e84bba29ee7c8f00d918f077ed0201d186007bf879c3101f69f115c057dae9dd8c8c07c68c837f815bdf55dba1b5257a27c52ce56b46af80ad17b0395a17f1da3d13c6c926abe714426189bcbc305f95dc7e76b2e3a7df5ca5807badc84b52d3ddbf035d2367cca8e582006a389e7d12ca55e0e4588c384eb274331aff03815abeeff1e3591325645d9f8e19a42e8fabc6d20fbcdf004573441c779eac636b79bfabc483023c9fe0730a57522a8dc11e0d98c4a5bf2ab77f4141c5870d2fdf25eefc3fa42d092574b9baa4142e323efa90f35da9ca5f043276865a8a4ebda07dbd3e6cdffa8097c201f1d1aebc0dd4a258732cc55d4b9dffb76762b94647eb8a28e2cdef7ec8352404d835ec1e2d8c25c22020a5a143158b734abbfe64538312b0e6ecc9ea9946a568fce9496c024d799c6cd49e2aa951f0d33eb50bd76acef6c6551546d65b3e9517b68a666e2c235faaea0250b9f34cbe02b24ec12ab31242ad5edf53825c07243ed7e93bee2baee735453dd2c51c548a069120e651dd2ebf81f2c8de5e9d885ee5e1e1ac68e9517ab6d8b6eb8783ecfefb151252f949de137d7f7fa09ae523cd278af7f7888d1cd4b1845679e293cdc822b7e1153e97890efe89d4492d4fa8a83a8adb6f341747fd67aa63ba35952f2d8412d845979f50953d32822e032608f049d1c6b8ab6d045df0cb131906d05132a766d2a2c3bfad21b6dd16df8b5ff46fda34fc70b5a57a007fbcc9de449535f169366a823ffbd88704451e6018c60cd60491cd1c260132f9d9d65b0bab0c47a1fa5014d86e139ea2ffa3d62ad697c3d07a77c46e42107004c0e312b36cd5e3480876b361f7ff7d0cab6413f0cd49f426d7f3293bc32c85994229575917937b711553984116d7083b743d0cc956459eaf6a5b6cc19b76585684add733250d1e3675961b3bc359c38f8d7ca2dd976e972e5f84d2ce8358deba92f43163487941c94ea238bf42da60f993b4e279e0af3bb34a23221ab4bba95364de6e2cd5659e5a1c6da5da72b57106ed588ebdcd5af98ccc132b7c73264b17684cee612e49994c0dc06f731c17e7c308b44e1656a5b1c43dffb9fd2f85ddbaba7a82d60943df35b0a0bc09a095ca69fdbe61f6e76909eeab0d4a99b47ef6697a62eee9bf1df9835d5e1b1bdac77ff03846b6568c42ce4992ccffd0e642b5f7162c68347573977b37dd310bb52e9b98e78ed3907ba2f9e8213e62d28e83243f2dcb0ab534e2d4687192f28d8f473f35802ef242f25e39e46eff9d04446450a4a848db3673a73671ed1f67442c6a6d1eab9af3ad8e63a235ec00fd8968e7b96e7990cc5bd1e32c99e0ae46fc81959b8c197148b4bf509d7fa138de26ebf1c2963fd087a796343a42446a0973f7e27b2a462cbdccca5dc3833cfd190dc4c42f28dea4441541ba59f5a2de6525c5513ac996e7ed89475216c1d604b7f70038ec99485e2d31aa236ed47c1e15f894b893dc448ec3b026b1eb19c08c0ff021e79332146179968b16968d018352e1390513339bfd90f20fc80d42542417c789de246fbb4b5fbc26dd7576af656ec28f93646bd52d0bf49369e272af344de6b0302e1a54b06c1725b194621e8cc0a1ce660b29844b2c227c41b9d9f93eaf188fc140180bdb3a9d4e39ff333482d80b18e30650487f72b1ce3778b1e8b28ea9549c6f2d02be4d608371acaaaba061f489e5f464d38d819aa5c50a048d09ea0a29062fdeb570ca60483ac1b3d3397af4fef42c36d34c9added34e4a49db02ca5ea503900d81e60e3dae893391a5739dc678853bda48181dc84d8e8b87a74ace97ea40bcdbec84a3503881c65640ec3fad261327f4e2ad80ee1e6d6b8f89e39c9b33d0cf8bbb2bb9915c40c0886656782a592ee818ba21e47f185a363a02c00c508851c7b808a5fbf3ba9141a02c49734df71a22d230a62b562d8a1b27569629d476c4d1ee657031537729f93126b3eee7c7b992bd9b6a754812f9f3f7068267420c4d0868b7335ec3f75c41737155989e00fb1785ec131c6e01d8292ff3352be4ecddb1c7cb1b3e72465b2af8e19bd43d7ef3556bcd64fc9037d59cee90d72f078ad252130dd42b57c7a2d7b967f977951683caf0da7b3bcbe811e30b3703ebe584e98d57eae820e8524a5d2c405f5590f576fe49acbccee477d1d803a17e0a2c420f7cc4e71dc52c0b172c867c0712e7e1a30243e067d0986a108bd9d4234aeeb94f87150d5d26e421b281b23011231ac2f685224787f85f7d94848059f732c46d5bacd25d0b860014a7a45410652c517434eb2636d13a611526aea1ebabb986ccb0aeb8c513c0cd9d0ad1dd18a61f656db4991ada90829c6238b5f1f215b5fd60fadad8d524c326b18bca1c3c24a5f7933f76b831b6644b44db8193b4fdce367047e6dc4be7e58a3559332f86ef5e251b339b04a88a5475106d862e3dc006e74060a890729ed747a97e0785aa9af405784d7aa6d5c00bff6355327b94597273b9281478a474502f6beb452b28b7c56a25f9fe154f0605046fdd58e8453ae49f67f8571a2e72c4f60f328c8209c0c6987b984cb5acf0b8218cab5ffd251ca9a34adf8e5950966c5444854dbf7173732a318cacbbeebb3c0a327c0c5cb50a7fc81e52f4070855c5a6e8a13629f3f7cdbb49a935f4ea7ac3d38e903f4b9eeefd06a22100c7baea3162f2db7cef9e2b48efa9e4a5815645f1df3b089a5bb0a54153462d3044468421dedd32b11c587a301f2c4913950ab993db80e7b5dcdc48853e496af77f6e3daa2eec867bbddd383bb540a31a2782774e1314407099c5a0c3c4f9fd11f084d9dddb9f09aeace21ca7cea0d32e340ae7d6fa41ad750e1801ecf05270a621ea2484035bb4c8b3c13ce7736ed0be009bc0e261f7951b485054acb247d7c1c9207d884b6f8ad63a7429686392bd54147f1b12fccbac111d6938c8417addab5a99d8487fc46454b7e69cb1c03715d068d48c625466278084c35d690813ced497a40f939e448f985cac0aab754f0c9ca0c3c73a3d78b0b4d7980e141fbac67e1d02bf96ceeabb26ab52b1c6eea9b474f13f8b729b737eb55112e91a023f2109b2ee8d3a2391bcbaca7ce3b00449db5f87dc4ee39f7361c31b139b3ead6ad91b609090b9b873353bd641f8a9f96334812e50989ecf458b38675996cf0865ff5bdf3b4344db1de62d893fd51621798307ec9107664014550ba0c2a80a08c98bbbf368ce1e88761bb9b132ce09702fc938e7d84e7fc8dedd488da19f6367cb55acf9f8815b17bb3ac49237be89b7e5e2dc6a4374f298b8f5b9040a8b10b8d43b5dc6a35662bc6ac331cba85d4e409ee574811a95c7bbd4f6dff91169106af85b8e84ed34bbde3fbb52a94c88c78ef211d423adb913f36b9d77dd8790aa036d9626cb2398cd496ff542cea85ea69fa8077c1b1dbad1236a3ab84bb80c6511ce381dc587abdfc720c13e26d486134b9eebece86e1a876c9fae196fd4ecabde674de267dd91e5cc40b98bc712d1468846a0cdf5eb54644858a270dab54f0f4c2a740c4c08920b819ac27ac692a27668fd1b70b2253d227fd3b831ee3e81386c5eb9c75e70c2d64372c571641b02b73651ed10c6bd0c999f603be895f9c7fc52db27489715826d5c5f5a8b15b5ed54b41ae57d3f7136946f683bc48a32fb7373b4f7e35134115091a267929b20b259b19bf27f58ae8a40a469efc149dd854d90b145175eb5ae992360adaaa12608ec7f4ba65c2a45cf96a3734af3b30de93b1f56c3daf4912604838e41d7fc06f0043cc0c1ba95d6369588f58102bc0770a0217d435215e3563a9587cef29ee879ccac279e90e251f9f045fea155f1843d8e270a637390f801a8dbfc27fac57a7051eaeaf3fea63f17cf5e7d059123c526e1014eb4cdc0a582134ef37f5dd38c7c2da9009f653bd78b3d8f0050238dafaca4b59a06ce6f4f5f50b42c9e82aec1fe958237be31939d545259a535e094ff59a0220f6d5da15776b51cc4ac023a8e93b16f876c45992fb441b2e787c1e4ac74f5baa366c4b872b611b24595c5046f592cfcf6cce47458aa6164e6ae0865333acb234d57f5d816bd02c6c013910407d7057d69fa2cffad257777f0a93b5c409970b7c4e8a044ab90e741de37ed3b6187a110f2332e2e7993cebd793745d27717a8d8781e986dfc48f3005c274cab0945b13f16e1d47cabbb120f8c67b8140808d4b4f7b6138e170dc83ff1415a928a4bbc8048de97114a0c051469740582562483cf8101cf123efc513f43cfc439727bc68908cadfdb8b76a57d89abcb05dff19dfbe11e64ecd7a7425e504e76f803b2f8339186ff3c79c6cbf062360e579b6ddcfcc02a160f358310a30330fd036645d1f6c2cd633905bbcf0dbf4576c7798ddfebd383b85e3b3b35ec85625e548722ede2d62428e9f59525f56a8774038597b57ba6ce1b65373eedd43a68021367fa611d006e1ea2e4b05c7302a8a98acbf439e094b28142721a81d6c28bcee149954d8b9d4218118b30005f8da2c21026e4fb5618d584623fda2561151bd27684d0d934dae77746f84cfd5ce02d712a3056e672742e408a2b44de72bd3718ee1cf488106b43d0694dbdb13b8af4f4587bc55b134413d338474e9f835631600c726a5144814ba79558d47556b0567bcbaa229d33dc6ad0b331b61c3d4c8c4ab38fac9db59a7200b6e6c7fd30ffa64ffb2591ea02a70517e74e22a2c8286cfb78d7ed58b7e0cec04516f4d19da89454c23a574720bb809e08bb18fab28d0d190343a736e07b38cf8fe968ba463ca8e00e012bd877f9a483684946594283ed3645f21b19fd29e861b8b99998931a2afd016d182c608a5e1f6629a9cd211f14d3381e8d63b15cea5bb0f6c3cd796e94606b663f5fe0e2620a9ac79ce245e552a7217953e1f2130d59ed0ca13f1c0f2d7115a14ff4168cd0cf9e03fb03bd70712178f135d4506ca12dfdaf92ccdf2be88359778dac4d090b988c0a350f8f73682065e01ce65d4662324ccc060c08caac13d7242b42c95319b993ee4bd4c18e0cf185116b61b425a0d78c6e43c5a894f49052bc6461856bbdf027b4aef7fe824a48ca36e21222d13e2661f343470c4c2def51ad5bacd9b9bfd10f417824255d7ccdc74df0d05ffb8b6c298f6096846e4812f8f4d19317fed02597372bb71a94b3a0f3c1096f69fee8d0fd3f1546cb888234c1a3cf07ea174fe7973bda4c9bc4172e63474f1eff3ded971521e8b78c6685dc5cc5fe693745054886ec3cb052dbbce8f79e542236151b5bf03ffd924cdd69563cc93ecf98c02e62912bfa7579741130e910125d0474ab83a44e507e066619fbed7d3b267902ede3900831799f5aead9ccfec509499f211d13bc0a948d323588575adb62ff32dac47216e17721149d2298b7fd601db0da50a1d0db98b4feff3731dbf7dde5d2762af2d13cc682dfbde2ad473474ccc94c174dd565ea72e386a2b48f91f55646b4667db082d6ad4dac3a61bbfe903e25614539d3c6cee47bd94877f9db34bcbacc4e9defab9dd300b90b929582972d99ff970c6f246cb6b0d4aec685ab0c167f16d01f2fd1ed6f28840b0caf0c86f8a8e794fe9c1d67f53018e958ba9e6fca8fcbf6423e2cab34998f991ff3fcdee470149521efa672fcfbcbbafa2366cc1bda987395468940163a03af4847d33bf97121e72c3ab48d9f947112ae013c72d7629401ad5e1b719d1b39520a7ad0ec73535eaeda63c5aad823cb564ffc4eb5fbbb99cbe4a0ae5089dfd966f1ab3cdd860c9cb7d11355fd864e95b2c3d8ac13fcfe706854ace489192610683877b0483a870063da959e1be27b53176a3af3818dd851c81182d4f56deb13ec82d165ff3bc888f13283cc9b915951836e8d0ec7f347def53375b8985cf17d5e59d35b9f5a5d8258bcd1b54432d7911bb7f6f707f2eb9a274bbb6722eef0f9aee5a8a7dddd54a588c36276ee299d17d5a8585be640a889f6d676b042c5720de027599aee5b55ebf585a2c4a1198cbc788df18714ddb4a5bbcc5da6b117a0acbf7bf382d0caf4bb95a2ba8d54c8a86ec553175fcd534958c922f6775041a6c2d469ed102bb0c4f9a933960597e812f7961808d41831889bd59b07241886851cb2e4942e74cb170799fbd232fb2de3260630207ad5adb47f2de3cb98df71978f7ec2e635b098987214b6b51afaef33220dd5639e294b287a906c0c0f2d66dd4520062f444d20bee565842c17522793637b476e446522069cfb1813fafdb03e7bea3b5bfd2c78cda870d60f1e6d874c38af3a51b13171c0888529f9983813e0ba4e52fc7bc3d14ef2e7fcb1a5ea066593be2e879e0e2491cb13395639142bc5c77991a6f88a0ba1fdb3da9d35a4beaeba75d9f28e479927a479d52140a7a1d2885f0e0088b4bedd5bb21af0ba5d71ec4f634526ffa94fe1c4dab584a7ec7d4ca37b745fae58663ade5755306e6c906a902b9f085ceabb8cbb4bd750314a3167bc178a14e7c888461dcdc5318a1114424006e64b603a5f538aacd08522592521827e5e136c7446cf9b9b58a8493873e2ba2d8fff591d132caa1f62c226a81628853c78b650017ca9d7450431b6d7413223852c54e54ff8ca8ada16327c9132010a5526743bca71bece6e1e7e01714c45e14fc2e77fea1ae9360d1dba98279397b46116eaa9fbc87224532ab8058aa377081489568e099c2307146ac1b703c52a52169f9476d9d6ad92fd96f5f1da7d8d592606907eebd1daa73139833592a63c0d14593591e8a52b70515b8a65738f42ee404605188b9048f4976d8213a95e7b9b351bed04dcfde56a983d2c62d17985225bd3d045ef00f031a4ce158333de9e4ab77529e6a840977230eeabf14ac6edd03a090139b58d2df1da1b6bf291b1b101cc0a791c2b3f0ae93d575dd9eaf193f6e595bdd0bfbdaf88ce91c0089aef36c7241a902b19d21cd5dda5786a0ecb0dbead355cce818a187f625c285a4d6c5df518294ad9a056f05476bc592d9a8468073a85a149d97ee0ecb229b74d8318cbc4b426089818728d0decb238b5775ab5a589c4b513f5243312906f39d56c57f8970e43cd93aec881989b308223dea728a59974d40998d063a8ab0191f3a208e977848203bce7b98a5b7d3047e0bcdededb47760a7703a92db0aa4ae3b289643991414cc1c8e9ca9320e159137c2a1ee239b9bca9eb396eb908a3fe76409e97410ec3f2cc6a41810eb40c4203ca31d2991424b9f3718fdfe51147623f53a31d5f3cee3a91c5e882d8d01ccac5b9648e012446e2fa126c1d03e5aec20f4a4737a51f6b35340646fa8bf6ee0ef03c99057f52562c677ae6969d58bd2de6b2ab66772548c21d1546d7a7e63493e6396e9fac64db6389752903d19d34fbdea252cc16e6655de21590a91a7c355a72efb165d2f944b38f15bb452cac70bee8d0cbafefe21e4014b6909efb8816c2260126ae8b8dc363290d9c79435bbecdbd2365efb18ddc1db0ae7b57aec1c72913033ff7fa393a6c01edd7d0ef876937c87f8454834ff23220063f75dd80db52407e65f06c5e2a97cadb551cd1a79bb3001741546108c95e2373c1d6f1a69fa9e040be1bf077156461b83c2c283fed8f7796606defbd7d6a4bdc16ab50367cc1c7a2d2f60baf82e3531d563177704daeee7f07e019363033f7d71051879c12db24d0c3dc69f0e34b8b2317372c30c4f382341b275026c780130fbb8e08de47692f31898946a13e59fbc29274d971f1909687fb2f91686f447fb4b433fd1ef492d5c9a3f6c2fc7c132e91d33031d91e05531dcef83d0703e4ee98e7c81afa51f928e7abd95e8d277b0e9640b91e5de44f1c737d749393a70e3cc9548ccdca0817fb57a7cde6fc137d679a1d5c3450fb7e76962bfbbcbe5f33041a6054eecc39a1ed4fda39fa1d04b746152a72886df00537bcc66e977aa1e83b79a3d6b57ce82dd6eece79fa0a8d9d57cc54258facb8219d8259a793750919215961b687a570257034754f49272387d14f85445bfa71608441071c874cec54bc3ce7f95268c9512b088dfa19d2e2ea1f2145c95a2b9a891bc37804eb2df3bfa5cca415eb2882d8bdb416b43b84d0caf192ef909f403076bcc25ed8b624ebc01fe4557b54f64cc759fb05fc53d85b6966ebc1b8199bd103dd2cf149062e31b019658c5f371fd80e41ec133e5a93336b5fc52f7510c82838abc45e22fea75f3490557de89f42f1ca888b0329e97ef7208365dd3629f2c5e6ba5e13bea45c49f582f84337d879bb7e5e380c0ef50161ee48bf5f8cf16f8b1282a8efba2c185d197dd6b4160a9f2026165e5b51ec5addcaf5d7e2f732644aa5413cce7ff7c6184e3bd323f2f746d5cb34cd8a53d0cdd10b06f93a514df0dd38a4f488f88f4b59438e10b562d5274cc1defa41737aa1e4b7201159c990fe1bc9786c5cff02d331166dd108377ff9c57ad9d9ef687c00826577d1f8dc45d8b80a6f2e21f661a8ef2ca7183e3fd71c11f8199fb85a7849183eed7615cceba2952b3661eb2f22940c5330773d49543c7705d4a1095b49f979bcd320acb8900c135a425d1373652213467b1b4338536831476a254da4d42cf14b0732da476a80e3884273aa948248c376d53799ca452e959ba06e44e6bb206f689766387500e67f0e9c2d203905f8e6408730777a874358a40a2e724e4743835bbfbe8fc263feee3c9983d2fee593590a945a64b0b14a8c35fcf90ab56c1b438fe8592f5853f2c54c6160c937023000d525674e192d8792ba887f3e730593f29f68a8933dd0d53c747ea558d8ee1c9a1030d3f80f36892bf2b846d656f9807098d2c20697e4282b630d238172dd8529a3cee9987071c5fe383ed47d7b2d9530b06c3c5c9a2a587c964920bc4f97649dd47bc56f7825a503b023c46bf502157e2b8476309774eec582c94ca5e4893db91f89874697e122d4c11e59115ef845ed04d95abbe27883defe19b90e03d9cfed013f6cae2f3da7584d8358600e7cedb22a62a6ffb356262262b891a75b14ecd088de23c57f94e8f4b0faaf6b7adc39644605a6b59842af8bf468684170e5968813b13da71f1555b966b79cadbc7decb3ec7061908eb38721469410b7af01b600d6782b80f7c20f6113746d6fbe48741e599484f44f78a8aa156378296a8b62ad60762cbe9ddcf0fb42d2d9f74523bbe79fe813cb2a73712e6d3f76b6de2d11debc6bf6c4fddeb9f3602087875240be80309cf93ad6614f0ea33cb7dcfcc676d8bec1119f31b1771a4b808a9436f17c2bcde5d58f0066417e7c2c80b36ed8333bec0c9cbdb0914a599f6cb8b521f51b9320f172539c60992d43ef305f7307d762941d179a82fe8a8bf88dc213864cf20eca77452989c1d2d29eaf6e7792928940e291aff043ffcd2bf703c1fce1548ea9b3b98adc558ba833371e0e22c0acef8fef6158ef08f073f6f629a60d259dd6e19f568b7511a008de0bda62313ff5315399241a2be5bd4922c1a4e8f772cf611ea83cb09091de411dfd40a4a675b73eb4a59a0bff7b92d14ca433e5b670be1ece6d2ef5ef228cbb3d84c6a5c8dcd88cc67bea4cc48c74ffb72b663a2c22e96091b7158b5f18e093f654c0f9ce89924193a597eb12586df40987127b3ae280c9164157545f6006fdfb88e0e96372438b9c5c91ddd4b599823426c2f2d7acff48cc0eae132491e8ccad56c2ee2b92a72ecf620a89f2c5526ed16c285cbb7d083897cec079a1c4eb6b20d5194a11aaeadac67a9fe6bd5f2ec582f6531b5389b810b4d568d2376522b55ff543b9b6862f0d9e233af012bd88506951902f6d1b0689f4693a1d3b579cdf7200bf27b9e6e58ae810fbf4aab2b8f84651544a70be2da75bc63013cd820bdfbbdb635c440c5faff9fccbf230357ac30208acac2f72bf2b74ca4c4fa4421b1ed5b51c8556ac0736327f9ad61504784611f521745246c98c6936ed7adb880396364b3c2dd93de8fa3719d2a683212851b77ac230b806fdb0ab283a9c2a9b0108196cff4bd5b6453e398c6e15f22c60f230ce62d82e872e3b1b84706d085826b7ff63ad79d0f4cece0528056310f35bdc2ccdee4a406c41375f6c5b4560541451020e23f55971f3e0e758e05fab633bf5b6b16fbd71032716a8ac401ee72390ad41bf77067a3bbce3fcc1622682d8af8c54ccadf8ebaba1c22e8f958e9c8356a5945881ffa264f2691e1170d4a039e218c7ffd2c2adf6d8e4556f66257e7c858b96f5cfdbdd03376e99ed662057bd5f37d6cfad604d988b0953a377a847bbddbe0a2016cf7ccc623f0ae6133b5894c60204ff6b29baf482f8d588fb1fe7b50d5641ec6752a457782d258d51195088c12667eb242390a8aef79263ca73385162365f081f68a66f45b25635343a07bd6c5dac5d52b5bc83d503ab58725d388ee79e86f7643bb4f713f4b705d144e97d57dde3659dd9acba5550851ab3648c01975230fdb7acd3d2bde4ecf7476dadce581dd824795ed7ea3b0a324ebd4fbfb251278e979ac32fc48eb3633a8a24d470b5c4d404a25eb3798478f29ad486b86b954ce317bad98b92ca612439098853eee22801bcb54d6caa9d8a37de8b22998ba512edd149e47d98d19f6ee5462374ad421881ea0123558513fc3402bf9d957a72af3d2a7953f66c96192c9ea39a55d00c470f9a4f83ea8346569845035e82e5643802b4271500908f6b19d17da5c2a0bd53b7a626d800c20ec3e355a12eab6c687d01db37683ff05898f46e560aa8b324744f0ba44eeb659aca7ca284d87c22dc3202c8e2a961c3ca0783463e9751b0c4f993a87bb6727e838d3b9470acccfd039e291f83770785b49c6a67b13685a4534eccf32e7fb3d183590d17837208aec6618ad7605f152d2864869054bf7c20a481e5e17fc95a5dffaa37d3a7827d0b38b538718e8343724789a1080de58a1447c21ac161fb35dcca29cd8f8e79ec683ff43625b21ebf609b84e3283e3685d5815bc44d9ebae794af7a4baf043d47155a93c808e08b5f127900bda629427644f6c77bdb2364ff983ec498c22d301dbc75a0af9189f1e8dcfc64681919a38874fe3c37e586d51bd974d4ca7ff6fc22482c4449778203eb483098b14985f8ebfa943f3caf3b7500baf9bc3c7c06adb686713e9455cb210b4d9495a09fddd", 0x2000, &(0x7f0000006740)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006400)={0xa0, 0x0, 0x0, {{0x6, 0x0, 0x0, 0x0, 0x0, 0x81, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000}}}}, 0x0}) 01:42:50 executing program 0: mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x2000002, 0x200000005c831, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000840)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x800000, 0x9) 01:42:50 executing program 1: perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='net/icmp6\x00') read$FUSE(r0, &(0x7f0000000040)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f00000020c0)={0x2020}, 0x2020) 01:42:51 executing program 1: perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='net/icmp6\x00') read$FUSE(r0, &(0x7f0000000040)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f00000020c0)={0x2020}, 0x2020) 01:42:52 executing program 0: mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x2000002, 0x200000005c831, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000840)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x800000, 0x9) 01:42:53 executing program 2: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x7) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000002000)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) symlink(&(0x7f0000000140)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', &(0x7f00000002c0)='./file0\x00') r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x11, r0, 0x0) pipe(&(0x7f0000000000)) socketpair$unix(0x1, 0x0, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) pwritev(r1, 0x0, 0x0, 0x4, 0x0) perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) creat(&(0x7f00000000c0)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', 0xfbffffff00000000) unlink(&(0x7f0000000300)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00') 01:42:53 executing program 1: perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='net/icmp6\x00') read$FUSE(r0, &(0x7f0000000040)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f00000020c0)={0x2020}, 0x2020) 01:42:53 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$IP_VS_SO_SET_STARTDAEMON(r0, 0x0, 0x48b, &(0x7f00000002c0), 0x18) 01:42:53 executing program 0: perf_event_open(&(0x7f0000000080)={0x7, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) 01:42:53 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_LAPIC(r2, 0xc008ae88, &(0x7f0000001a40)={"06000000dd245c84900d0000c9c8dc19643272a96fa42b76f40000402bec0ba41f0100003a40c8a4750100003b00041f04000000003c5ca2b6000040ee377abaece6b88378e3d63ab7000040361d264ffa8b46485f02baee074d564b4252066178868d1ef4b5365c5dc26ca097ddda7c21a9845c0c1dbc75d7ea4df10000174a3ac8694525a72f44500a1f0db500800000000000008f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa006a832d309fcda5bb5a6baa41d614f6c8941bee805954a62d196a4e8d4bf6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478fbe65449b404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5eddec2d1cc39035caef10dcd2c569319d6e9bb2058d023f669a64fc7d9684364673dcfa9235ea5a2ff23c4bb5c5acb2e8976dcac779ff000000000000003d4e185afe28b774b99d38c90937428617de4cdd6f53c419ce31054182fd898af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e9605ab8c3c43840abd17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba16f70f558b2246ad95ccf7d3f80cc0f768f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3efb254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f47692613e28387e955722908dd88b56163be8312ff47c5b6f070072975af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047666843badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffb7e7603970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d819164300"}) 01:42:53 executing program 3: r0 = socket(0x200000000000011, 0x4000000000080002, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000340)={'ip6_vti0\x00', 0x0}) bind$packet(r0, &(0x7f0000000040)={0x11, 0x800, r1}, 0x14) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000380)={0x200, 0x0, 0x0, 0x0, 0x0, {}, [@nested={0x1e9, 0x0, 0x0, 0x1, [@generic="ef3660200156e055fa7026954af55f715c26159808c98bc540953122257e0f8fc0453c33cb44d61e08e902faf5e00285624b09577ea5ba03955a419769db55265ca4c96729789d3f66fec5cb75ff4d963a8bde8cc989c3da6c90893fe7f7319f0a6296fdffa18fa0d3e88ca0e207acc823b3be48b9a86293fb48f4fc58c83bb9df5705cf8f695dfe35f714dc0791a899ecacc13e6d40de43f3c8f23df2a4863dbf783bab14d7d6ee7632e3e79a5edb42dc3b6ab0a59a22305d0a6f077812c17ff6a32433dc9e38b859d47e82848ab28d8f3a714266394095dcfa", @generic="847120b4c936faf02d122468e5477608ef7be52acde427", @generic="ddf570e5b65ecbd414e0ef3acae0c50f4dce0aa62962b33acd8de3bc21490c4e858b61fde3af6d1acc8d99b5270fe70aa3dd7957b8ac9f0101987344ed192cf18895d90a0850981f83c5f07180492b0b81258435c58f70655f12b4b3be69e0d90b7bcfd10b758eb0f826f9add5df82eb8c85b900da9c", @generic="9196e8e02e2cab8869b1aa9daab57557d7ac6f417081d863acdb0df2a4a54c0685af5c44730328b4096bfa74819c93647c21e11bf7b1af86eaef070ef726cfa01a5d19c959cdb3edbc99606470989c99b4c73ffb5bb8c2b56c414a74201b3416b6718f4be5dfe6f49531b49f295906e6b1", @generic="8a1ca6a6309cc3939add17f6b6"]}]}, 0x200}}, 0x0) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=ANY=[], 0x4c}}, 0x0) 01:42:53 executing program 1: perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='net/icmp6\x00') read$FUSE(r0, &(0x7f0000000040)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f00000020c0)={0x2020}, 0x2020) 01:42:53 executing program 3: ioctl$int_in(0xffffffffffffffff, 0x0, &(0x7f0000000000)=0x4728b96) getsockopt$packet_buf(0xffffffffffffffff, 0x107, 0x0, 0x0, 0x0) setns(0xffffffffffffffff, 0x20000000) ioctl$int_in(0xffffffffffffffff, 0x0, &(0x7f0000000100)=0x1fffc000000) r0 = openat$cgroup_pressure(0xffffffffffffffff, &(0x7f0000000140)='io.pressure\x00', 0x2, 0x0) ioctl$AUTOFS_IOC_READY(r0, 0x9360, 0x0) ioctl$NS_GET_PARENT(0xffffffffffffffff, 0xb702, 0x0) ioctl$NS_GET_USERNS(0xffffffffffffffff, 0xb701, 0x0) getsockopt$packet_int(0xffffffffffffffff, 0x107, 0x0, &(0x7f0000000180), &(0x7f00000001c0)=0x4) openat$cgroup_freezer_state(0xffffffffffffffff, &(0x7f0000000200), 0x2, 0x0) keyctl$clear(0x7, 0xfffffffffffffffb) r1 = syz_open_procfs$namespace(0xffffffffffffffff, &(0x7f0000000240)='ns/net\x00') ioctl$NS_GET_USERNS(r1, 0xb701, 0x0) ioctl$NS_GET_PARENT(0xffffffffffffffff, 0xb702, 0x0) setsockopt$packet_buf(0xffffffffffffffff, 0x107, 0x1, &(0x7f0000000280)="f1ceb9ad1a6e7aad68afe658614a9d96af64bf09fb8ce2aa5a31a3fe7ff515d2a4ee1cfe4ae5bcf8b7e2a27bf7bb312330026606462cb91c0a6da7cae33d4136dc78d151c5f1a0561d430411f91a35daff6842e52d94e98524c112cdd302782fbd88a0aac6a785511aa23b3c4853e2724b2c06f14193606fc222765216c030ace609bce644afd32d459bb323cf6aabd2c89295c69f517aa0b557fd9f3ed40f81311e8771971173c62c47df98f8bcf1760a9c3451bb72618c0a3d9cb65fa86332acd3e3646fa46131b8ad050a977fe81ab56277c677e58fc5abb60b6d4d0cb32cfe77cbafb6c21f2180eae59deb7692900c445574b147acaca826c44a9f863d38eb1601e8f64bcb11fc17085d3f5efdf7e729677ecdf7cebe8179db44f955fdd575433734701065131ddea1f1563939fda43967d0271846dce83a0e232dce4d2b7ea0eab96fa25ac2ccf056dece18139d5d819305a20d46185bb57ee63dec5a76cf12e9195530537b35d3ac7cffddd83348fec8fb2195e2679cc6f83bdc63aaffac3a1b35dc5815eb158abe32bf4ce5f249ce15b973d749649b5e227d29aa77a47bb7dce914e044be3ab45c02a1cc834378d53f4ab307b98627f9c08f74dde138ce2b6254b3fb089300707a4e1a05ebd48c7b4669035e3c4e1285dba82c1eb56a5ae096f14582d6f742c99ed49f60a77fe41b82e2c9f5d9baa0a2442e8e46be69aa8b5c3de65c32d44eba755639fdcbe20cd14f09a9b4a420dc1cef229c940d6915638b17583a0e411f713a2c87c5f24ade69d34683aff6f572aa1e57b0d5217b69cbf029e267e3e1c28f7ba677dd89de277f5acd3b5f57d61c3ef461dc338a046c162eae741cbbaec8420ee030da8309da8f1be5a537dbaeacd8d22c7114b07c2164fc13e0dd8e9a4a3e42f0f60d87db011340626296742058bc54a16f0083c16b1b1fdbaa132d66a89f701c975e84760cbe9c097efd6569804c822f0419fb40cc198006f23958d328623608e3564f2c65d51ca4e7146acbb676c3910f4ab1d1dd48618a19d78b82eac6a8ab13d8f07efdefa63542c0238c4f3f69dca9aee2d89d6c8d19f43dbb0602803a3ceb80bdc906dfdc18af47e93c12ea70d4fe9c3078b5ef35beae0be65dcee12686a184afc2cc8c2a02fce700baf82bde88383bf1f0c2a9198a08a3d076df58470ace43652ec0be3fa2708f138c0787d91a2cb41574f529675019077153ed249c33c0d92b712dd494fca543db3c28a38607352eaff94d12c48bf50a4bf98c4eca2865aa1255b58935242b27ba77d4586270bf4439057cebccb005bc594110af9b23ba829ee043fe21c1e9f12c891b2685ad08f1d45488f6d8f23ad2789b3c2dc9810ddc4d443e9514a19cd5a0f49a219d126c8d55fc67800bf9fdfdff805574a982ddf43dfb9ff301d562623b26e10c43d1558b7c6c35dad9bb15877f5d41ab420aa92cf25aaeddb74020adc3e2ffc20fae1accb98bf468339013b8dbe9ad8c388ad9ea71bcf3fc58391cea59f8e2a98a53a457ef09a3627e6f85d3df428397ff7ee9e0bad50c458ce27fe25d71182486d6508dac0fb91dfb26ffa36461467cde1318f796214544331005bd274e70dd4738c7ce4340d4b8ebec37b484faae62d00ecc28798e622158483aec00bda4aba67bfd87267b21a6b3188c0e087d064ffed94d49226085d6b9070f5c92757f0411775644870af772ad95dea4a0f4cb2906b6878cfbafe4a4db7d2a168025730e593a96be596ea83ba8f57f2a6fea33dc119420f369560fa8e26d8f711d583daa16188361b6a816bfcface990c9e3c65128db30d902892ad2e357b97bf0ffa9c3db4623a46dbf732ee3a9797981ec4536cbf3046af91e61110c1ba47e839160711d47d58bbb4f0454877210a86d44be8a559e2c95d5edf84998c130a85f2e82ed73a82dcbb95742995e81203be85ff1536171560d56b2ef9635ab6ee8e0764bb650ddb0486f4c107b03e11cec1af52f9663e8bd769010cdffbbe8d4376e7c258dea0849bd193b387bab61eb0a63df15ebb574be63b5e73a604924a79f9b0f04df6a2b8d62bd178aed27d20f81b07f991b37d15182b5b5de8b6e52d8bae0c89852303ce4378548c1a82fd18875100d743d37bfe5a9130ff8de60d31c39a14443954dd1d859f9e542dc58e829e8b32e07d8cdd09b2142f9a73781b89e151ae50a4cfe31cd042e8b8002c51e2931162d2c7345e82370e8ab5488cf7f7e1a6e1b0de34938805966619f6c0b0918a3fed90609f4fa3c12865b420629e9d54ccf4e50025caa29a9010bc7d204ad48af06a1dac4f71dd520266734f9d97f2fe31ee82201027b3e0f994a1b2226486349d28d0284412ac72104634969b420cc75e5fd9fbae90840ac7f33724b6e41bbb379f213250bd4e903922580c55e2b44497b7c049bc106016b736f04368748c70b01e18be2f283232484035cbefd2d9036cf215ce154ff9f95c28a6dca78a5065db48f2b6861fd655dc6e86a1af169bd8832b4b81ab935470c2534b6acf6ece225b6a794416f9a1afbba7ebcfbe46844bb5d333219502415222c396b54cc605c3e09e50f110286bdc8b4122f5b80ef34a957893b86addca67ddf91e7fd7e4eaaee05a1f81f786a2beab0760982d99a7b35fc3b841d22775cf2bb9c1b12b2137a9e2f95a079de8c842b322bddab29bd2839aeb065b50a1bc142df999618a253f9b0cf631feef407e5372efa5c283dcbc6e7da32ff1fcc16b5837009b7d0dbc4c83ab9a487f458159d1599787d0a0c9eea1be2fbdf87ce389fa25bd4bedf467e672da86dcf650d1813571e620539e2f530a7824c98dcbfa2cb9271947f5f9f1919ab2bffb7c0c9117530a5908929b24cdd75dada1c1671aaba7e99fe64167cdc742168489f6d8f7798fdf35f95ffd09e8c7d34bb87fe6cfcfdd812456be3cef3eaf53af74e6aeba2a6cbd70ac5daa7a51a3d07a138404de7be431176ba5e2c096444b6ccc773459385ba8dd86f47d09b884c32483745f050c324cff252626a02832f63031451eebd989eec63d49cca502894833ae19fabab91b2b6b22ea2c952ef3f66db23aa9e2e8caaed34226597216d67ccdc47682675614c98cd666732556fc5c1e13cf31a08293cdfb30fe1bab11197880aa6e39f82be9f20614a82b8554df0bcbdc0d7a5a358c50990ce985f75618515cb6fd2e04b27ada239842b82463f023584d1d90787c4d0f6bafe34806c8ffea8cab9a1c909bdf46418dcf86b6d005768ee0027ea5aae4ca31ac3c241c026f09d6ce4617390e30b6cf7961d4797aa8d5ec09d7981", 0x92b) ioctl$NS_GET_PARENT(0xffffffffffffffff, 0xb702, 0x0) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000001300)='./cgroup.net/syz0\x00', 0x200002, 0x0) openat$cgroup_root(0xffffffffffffff9c, 0x0, 0x200002, 0x0) [ 1135.733078][ T37] audit: type=1400 audit(1641433373.617:774): avc: denied { ioctl } for pid=3154 comm="syz-executor.3" path="net:[4026532901]" dev="nsfs" ino=4026532901 ioctlcmd=0xb701 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:nsfs_t tclass=file permissive=1 [ 1141.803635][ T1349] ieee802154 phy0 wpan0: encryption failed: -22 [ 1141.812186][ T1349] ieee802154 phy1 wpan1: encryption failed: -22 01:43:02 executing program 1: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCGETTUNNEL(r0, 0x8931, &(0x7f0000000180)={'ip6_vti0\x00', 0x0}) 01:43:02 executing program 3: clock_adjtime(0x0, &(0x7f0000000340)={0x41b3249f, 0x0, 0x0, 0x0, 0x0, 0x1}) 01:43:02 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000480)={0xbc, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_FWMARK={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_PEERS={0x84, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "4a0a9eaf21dc013a61d534bec64f2e6d407d3c7b8400d9307629bc51e40078ce"}, @WGPEER_A_ALLOWEDIPS={0xc, 0x9, 0x0, 0x1, [{0x8}, {0x4}]}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}]}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}]}, 0xbc}}, 0x0) 01:43:02 executing program 2: r0 = openat$fb1(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000080)={0x140, 0x300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {}, {0x0, 0x0, 0x1f000000}}) 01:43:02 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) bpf$PROG_LOAD(0x5, &(0x7f00000017c0)={0x1, 0xe, &(0x7f0000001840)=ANY=[@ANYBLOB="b7000000010003c3bfa30000000000000703000020feffff720af0fff8ffffff71a4f0ff000000000f040000000000006d4005000000000047000000016d00007b030000000000001d440000000000007a0a00fe00ffffffc303000000000000b5000000000000009500000000000000023bc065b78111c6dfa041b63af4a3912435f1a864a710aad58db6a693002e7f3be361917adef6ee1c8a2a4f8ef1e50becb19bc461e91a7168e51815548000000000000000275daf51efd601b6bf01c8e8b1b526375ee4dd6fcd82e4fee5bef7af9aa0d7f300c095199fe3ff3128e599b0eaebbdbd732c9cc00eec363e4a8f6456e5ccae25ea21714eca8cf5d803e04d83b46e21557c0afc646cb7790b3e6440c2fbdb00a3e35208b0bb0d2cd829e654400e2438ec649dc74a28610643a98d9ec21ead2ed51b104d4d91af25b845b9f75dd08d123deda8ebc72f526d8e8afcb913466aaa7f6df70252e79166d858fcd0e06dd31af9612f2460d0b11008e59a5923906f88b53987af1714e72ba7616536fd9aa58f2477184b6a89adaf17b0baf587aef370a2d426a6041bdef728d236619074d6ebdfd1f5089048ddff6da40f9411fe7226a40409d6e37c4f46756d31cb467600ade70063e5291569b33d21dae356e1c51f03a801be8189679a16da18ec0ae564162a277c7a775d55dfc28abbe9b5ea62d84f3a10746443d64364f56e24e6d2105bd901128c7e0ec82770c8206b1deeed4155617572652d950ad31928b0b0c3dc2869f478341d02d0f5ad94b081fcd507acb4b9c65fee7d26b34381fcb59b854e9d5a17f48a7382f13d000000225d85ae49cee383dc5049076b98fb6853ab39a21514da60d2ae20cfb91d6a49964757cdf538f9ce2bdb1ab062cd54e67051d355d84ce97bb0c6b4a595e487efbb2d71cde2c10f0bc6980fe78683ac5c0c31032599ddd71063be9261eee52216d009f4c52048ef8c126aeef5f510a8f1aded94a129e4aec6e8d9ab06faffc3a15d96c2ea3e2e04cfe031b287539d0540059fe6c7fe7cd8697502c7596566d674e425da5e87e59602a9f6590521d36f38df9ba60248d9a0d61282dfb15eb6841bb64a1b3045024a982f3c48153baae2c4e7bf37548c7f1a4cad2422ee965a38f7defbd2960242b104e20dc2d9b0c3560811ea6c3560a43364d402ccdd9069bd50b994fd6a34ee18022a579dfc0229cc0dc9881610270928eeeb883418f562ae00003ea96d10f172c0374d6eed826407000000000000004a9c5a90ff59d54d1f92ecc48899b212c55318294270a1ad10c80fef7c24d47afce829ba0f85da6d888f18ea40ab959f6074ab2a40d85d15017ab513cdc6c0e57fb1c1ca5f1380d7b4ead35a385e0b4a26b702396df7e0c1e02b6e4114f244a9bf93f04bf072f0861f5c0b000000000000eedcf2ba1a9508f9d6aba582a896a9f1ffa968eacea75caf822a7a63ba34015ea52acb1188883ad2a3b1832371fe5bc621426d1ed0a4a99702cc1b6912a1e717d29135753208165b9cdbae2ed9dc7358f0ebadde0b727f27feeb744ddcc536cbae315c7d851680f6f2f9a6a8906943408e6df3c391e97ba48db0a5adbfd03aac93df8866fb010aec0e92bed1fe39af169d2a466f4ca2195234648e0a1ca50db6f3d9436a7d55fc30511d00000000c95265b2bd83d64a532869d701723fedcbada1ee7baa19faf67256b56a41fd355b6a686b50f0937f778af083e055f6138a757ebd0ed91124a6b244f9acf41ac5d73a008364e0606a594817031fc2f52c8785fe0721719b3d654026c6ea08b83b123145eb6dc5f6a9037d2283c42efc54fa84323a3304f41ff462c8843187f1dd48ef3fa293774d582956ff0f40b10ca94f6feeb2893c17888e1cdba94a6ea80c33ead5722c3293a493f1479531dd88261458f40d31fe8df15efaaeea831555877f9538c6ee6ba65893ff1f928ba7554ba583fef3ec7932f5954f31a878e2fae6691d1aee1da02ba516467df3e7d1daac43738612e4fee18a22da19fcdb4c2890cda1f96b952511e3a69d694d625e0b2f80724a5bfc1e8890205f3a6da2819d2f9e77c7c64affa54fec0136cbafa5f62e96753b639a924599c1f69219927ea5301fff0a6063d427f068840a754c02180d61542c2571f983e96735600000554f327a353511ccedde99493c31ac05a7b57f03ca91a01ba2c60ca99e8ebc15ecfd64bbca48568325b2969e2b15f36b788bce5ccdbaf75c94cb93499f6947a967a7bce14c6d80010f5c653d22d49030a8c2a4ab595bf4238f18ca428dafc7ac96d40460780000000051a2104f22e6db5a62b5089c1b45282d38864daa3ae81d6b0968d1d2867b91b7d120968308c31db2633d6864da40b54783a17aaeb6737c323f9f98e354cc98c2c73e1661261173f359e93d2c80000000998809ec8f0232b3955e052a4cecd89008f70314a0bdd491ec86a4555d89fe0120f64c62e8e3ed8bcb45202c204bbec8d722824c0ebccbaf1ea4a003fe9af5d785d0128171c90d9900ce2532b0f9d01c4b45294fbba468df3e1b393cb4e62e754598e47df6bd06431c94bc5d047899fd219f448bf9189c65c9d91eda6b52a373803a9e0600f86909bc90addb7b9aee813df534aac4b32fc7741c7e3f426b9ed20debd883593ff5d691b8068cd849904568916694d461b76a58d88cf0f520310a1e9fdc18cde98d662eee077515d0a8811922929e085392ab3d1311b8243266d87047f601fa88a000000000000000000000000000006acc19808d7cf29bc974b0ea92499a419aa095e203c1bafbb9b9a7c2bca3f0a18ee4952f2d325a56390578f12205db653a536f0100e0eda300a43a13bd1b9f3322405d1efd78e578dc6b3fb84f3738a4b6caa84feda91f3edb32231ec75300000000000087efa51c5d95ecba4e50e529d1e8c89600e809dc3d0a2f65579e23457949a50f2d0455cf79a43746979f99f6a1527f004f1e37a3926937e84fb478199dc1020f4beb98b88b5e7885e9a617aa6c8e10d4202c5afeb06e2f9115558ea12f92d7ae633d0f086b3f03b20d546fa66a72e38207c9d20035ab63de71a30f1240de52536941242d23896ab74a3c6670fdc49c14f34fc4eadd6db8d80eba439772bf60a1db1829f1a57d3f18f4edaeb5d37918e6fddcd821da67a0785585a4443440dc65600e64a6a2744c46570e8f46da1ab990ca053cbfe801000000000000000000000000000000d55d7182af2ea5f8d0ad495e3eb9421963a5a683c3dcb2d300aa3b2cfe946d2348c35f5d67d68ac07c8f84b3679e77c2e629ecec7c12c35d6b6971b8ae13cc00956d2245e761f5a3bfdcdc18ac27db60c0a461ed2b3ecfb16d19037c8c88c91dda1f904fbbc864e95ad43d6dd6d5eadbcea25682ba4b91e14c3fbfdfd1d680e7f13a65dbaa1af102d97681656bf56ff0cf36518f674237ce097d39008cc3257778de878bcd37467386f993be6d20c93a7791e7f2a155ce379b4cda2500108052aeb9bd03ffbda9ff485d6576a492d436d52edcd420e7deaa4343a0add3941ae7c5f58af43866ca64750f43e583ca1ceb3a805e46beef9dca77a4edcbb42aa0caf0bbd6cec72d85540293cb4849b0610800000000000000000000000000000000f9814d5f6c8673c143ff2f901e71b8818665b56f7a03afe3d900007656859db4cb06aaaf9f02cfab5b9e61cc00e8e19429921b8df4c4c53bddea4cc48737842952ff08aeac15685df194ca89da8cf6d29a2be9779181fd5d105af5786094d9130f5826b18b9667b971a994f3fd069629a1052f441e96884fcdc91f4a974242aabfc8adbadc9ca27955b5c90f0bd9a46ed044272383d3768871a9c8cfd7948aea445c55684351002ed4a4af45341de8e5e1f33624bd2ec1591dd00bbe05000000f89a928662e9b9449db34394fc5e946fadaee576e28ac0feab4e3585ed43d206218f524083840a78b723621f3b706bb7f5e42b5376642f8ad4028d4ead407240e7467d1b37afe20690d7672c7e926fded95cf805516ad836eb730619a05af36fb28329d6feb33219cc9164461a8ba3afd5949b9a6046c53663df30a149414089c1ae8f3476236b05dde8dda4843a62c591f8d2b1a62d0db8dc826219bd87398b33e13e3a7a1511573cb1a8cdce3a8fea40792297d023ef52de2e75b9dbbfb8712ccc15c69cfb4c6c1bc2ae74621e536b9d3f09a15dada1561a8192d65cc59d7ed5a6bd610000000000000000000000000000000000000000000000b41248c570c4223a471b755ce6956908e2b0e5dbc5e71ff2373d3ed89c2e2eafac81c21ac2436d2ffacffe2fc0d601a50221c88a47b264c5129004f350963b52702c5a360000000000000000000000000000000b4077dc8a1801a8bf833350d302c5439ea3dd0f3b8eb1dc93af1fbf863d33a38a5aa02ec1e5b90cb673d6b0cfe7f35b20e438653e0f73ddfc78e3e1d1cc9798af0eb9b61bb4fc72454a57237b68ea614ad898374e952784a18ffb9dc4447acd7ad28a63f88007ad8cba31a6fdd9982c97a913dffe69654d3a00b98c45ead9b9619f946c82f5789379d0d942020652ccfac45e1ef5e93e72b7d5381a3c61fbabc1286285110540075bc7aee3e595f9850b9e96887d53404add0021b198be851d9f797d6d4fe7501997524d28ce7b1d5f8203d9f756efd5676c5d85052030c27e2a99ee39007d9b3c305b1c7d14899b42149d6c437d863651d30426e36ff66bafa93ce3f76c18b8c91ac65b7ab49f03b7c0d04f87f5698a90c6bcfde7687e1ee0369e88d674f51fe69423000000000000596444d8a7bf983d6f0342b2987e520542c1f725402404f37cda7868234eeefbd472c7b396c182f2b9a8bf2f85ad1a7b18681784c8fcf0cf5e34baebc594de0d6c9244a834b82a162739619b5f2e3c24378417f71f855b7958fbae631a8aa30b2120a9e23d8711f529b0cd7ce6ee2b0841a4d9e82e6ef54089b64175338ed7effe440c97c663a1000000000033f9ee8bc74fb676198caf54f9a07461c30b4b65890f2b64e68eb2a265f641e68af046fb8751055c6dba7e49068656dbf01c26b3812cec4204084e4c3f5abb86121a3eddd10720d3b66a3a8033aab499cf56b7e5b01d37c1d7b4f5968040cd727efc9a1d69fa550313969508472ec9af3327d1bcae9167e3316f272ba2efdebf91f15b4a2bc27ea303834692d92961d3dcff0e4f55d9e3e7c66e8d3324216c4c77b95c000c5f30d56da969b1ce3a3e1a8ce5a632b3c404e7b455cac15273ce31a57dc723e173d14b65bed120f5396671eb7f8670ddc26ecc7461b1badfc98076c95aa811954827767c023c51e183cf1de0230912617f72169a3f9bda12d14667855757ca543b524491e213929a9d095abb9e57f33ad7e5301e5995e65246bc06f931d983596a4979d403f1b3884123633e9af67a0972612b5874f2c8db14855444c7155f7bd177017c7bc1"], &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffd00}, 0x48) 01:43:02 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000380)=@RTM_NEWMDB={0x18, 0x13, 0xf2f78569b65810af}, 0x18}}, 0x0) 01:43:02 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000480)={0xbc, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_FWMARK={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_PEERS={0x84, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "4a0a9eaf21dc013a61d534bec64f2e6d407d3c7b8400d9307629bc51e40078ce"}, @WGPEER_A_ALLOWEDIPS={0xc, 0x9, 0x0, 0x1, [{0x8}, {0x4}]}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}]}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}]}, 0xbc}}, 0x0) 01:43:02 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000380)=@RTM_NEWMDB={0x18, 0x13, 0xf2f78569b65810af}, 0x18}}, 0x0) 01:43:02 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000480)={0xbc, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_FWMARK={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_PEERS={0x84, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "4a0a9eaf21dc013a61d534bec64f2e6d407d3c7b8400d9307629bc51e40078ce"}, @WGPEER_A_ALLOWEDIPS={0xc, 0x9, 0x0, 0x1, [{0x8}, {0x4}]}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}]}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}]}, 0xbc}}, 0x0) 01:43:02 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) bpf$PROG_LOAD(0x5, &(0x7f00000017c0)={0x1, 0xe, &(0x7f0000001840)=ANY=[@ANYBLOB="b7000000010003c3bfa30000000000000703000020feffff720af0fff8ffffff71a4f0ff000000000f040000000000006d4005000000000047000000016d00007b030000000000001d440000000000007a0a00fe00ffffffc303000000000000b5000000000000009500000000000000023bc065b78111c6dfa041b63af4a3912435f1a864a710aad58db6a693002e7f3be361917adef6ee1c8a2a4f8ef1e50becb19bc461e91a7168e51815548000000000000000275daf51efd601b6bf01c8e8b1b526375ee4dd6fcd82e4fee5bef7af9aa0d7f300c095199fe3ff3128e599b0eaebbdbd732c9cc00eec363e4a8f6456e5ccae25ea21714eca8cf5d803e04d83b46e21557c0afc646cb7790b3e6440c2fbdb00a3e35208b0bb0d2cd829e654400e2438ec649dc74a28610643a98d9ec21ead2ed51b104d4d91af25b845b9f75dd08d123deda8ebc72f526d8e8afcb913466aaa7f6df70252e79166d858fcd0e06dd31af9612f2460d0b11008e59a5923906f88b53987af1714e72ba7616536fd9aa58f2477184b6a89adaf17b0baf587aef370a2d426a6041bdef728d236619074d6ebdfd1f5089048ddff6da40f9411fe7226a40409d6e37c4f46756d31cb467600ade70063e5291569b33d21dae356e1c51f03a801be8189679a16da18ec0ae564162a277c7a775d55dfc28abbe9b5ea62d84f3a10746443d64364f56e24e6d2105bd901128c7e0ec82770c8206b1deeed4155617572652d950ad31928b0b0c3dc2869f478341d02d0f5ad94b081fcd507acb4b9c65fee7d26b34381fcb59b854e9d5a17f48a7382f13d000000225d85ae49cee383dc5049076b98fb6853ab39a21514da60d2ae20cfb91d6a49964757cdf538f9ce2bdb1ab062cd54e67051d355d84ce97bb0c6b4a595e487efbb2d71cde2c10f0bc6980fe78683ac5c0c31032599ddd71063be9261eee52216d009f4c52048ef8c126aeef5f510a8f1aded94a129e4aec6e8d9ab06faffc3a15d96c2ea3e2e04cfe031b287539d0540059fe6c7fe7cd8697502c7596566d674e425da5e87e59602a9f6590521d36f38df9ba60248d9a0d61282dfb15eb6841bb64a1b3045024a982f3c48153baae2c4e7bf37548c7f1a4cad2422ee965a38f7defbd2960242b104e20dc2d9b0c3560811ea6c3560a43364d402ccdd9069bd50b994fd6a34ee18022a579dfc0229cc0dc9881610270928eeeb883418f562ae00003ea96d10f172c0374d6eed826407000000000000004a9c5a90ff59d54d1f92ecc48899b212c55318294270a1ad10c80fef7c24d47afce829ba0f85da6d888f18ea40ab959f6074ab2a40d85d15017ab513cdc6c0e57fb1c1ca5f1380d7b4ead35a385e0b4a26b702396df7e0c1e02b6e4114f244a9bf93f04bf072f0861f5c0b000000000000eedcf2ba1a9508f9d6aba582a896a9f1ffa968eacea75caf822a7a63ba34015ea52acb1188883ad2a3b1832371fe5bc621426d1ed0a4a99702cc1b6912a1e717d29135753208165b9cdbae2ed9dc7358f0ebadde0b727f27feeb744ddcc536cbae315c7d851680f6f2f9a6a8906943408e6df3c391e97ba48db0a5adbfd03aac93df8866fb010aec0e92bed1fe39af169d2a466f4ca2195234648e0a1ca50db6f3d9436a7d55fc30511d00000000c95265b2bd83d64a532869d701723fedcbada1ee7baa19faf67256b56a41fd355b6a686b50f0937f778af083e055f6138a757ebd0ed91124a6b244f9acf41ac5d73a008364e0606a594817031fc2f52c8785fe0721719b3d654026c6ea08b83b123145eb6dc5f6a9037d2283c42efc54fa84323a3304f41ff462c8843187f1dd48ef3fa293774d582956ff0f40b10ca94f6feeb2893c17888e1cdba94a6ea80c33ead5722c3293a493f1479531dd88261458f40d31fe8df15efaaeea831555877f9538c6ee6ba65893ff1f928ba7554ba583fef3ec7932f5954f31a878e2fae6691d1aee1da02ba516467df3e7d1daac43738612e4fee18a22da19fcdb4c2890cda1f96b952511e3a69d694d625e0b2f80724a5bfc1e8890205f3a6da2819d2f9e77c7c64affa54fec0136cbafa5f62e96753b639a924599c1f69219927ea5301fff0a6063d427f068840a754c02180d61542c2571f983e96735600000554f327a353511ccedde99493c31ac05a7b57f03ca91a01ba2c60ca99e8ebc15ecfd64bbca48568325b2969e2b15f36b788bce5ccdbaf75c94cb93499f6947a967a7bce14c6d80010f5c653d22d49030a8c2a4ab595bf4238f18ca428dafc7ac96d40460780000000051a2104f22e6db5a62b5089c1b45282d38864daa3ae81d6b0968d1d2867b91b7d120968308c31db2633d6864da40b54783a17aaeb6737c323f9f98e354cc98c2c73e1661261173f359e93d2c80000000998809ec8f0232b3955e052a4cecd89008f70314a0bdd491ec86a4555d89fe0120f64c62e8e3ed8bcb45202c204bbec8d722824c0ebccbaf1ea4a003fe9af5d785d0128171c90d9900ce2532b0f9d01c4b45294fbba468df3e1b393cb4e62e754598e47df6bd06431c94bc5d047899fd219f448bf9189c65c9d91eda6b52a373803a9e0600f86909bc90addb7b9aee813df534aac4b32fc7741c7e3f426b9ed20debd883593ff5d691b8068cd849904568916694d461b76a58d88cf0f520310a1e9fdc18cde98d662eee077515d0a8811922929e085392ab3d1311b8243266d87047f601fa88a000000000000000000000000000006acc19808d7cf29bc974b0ea92499a419aa095e203c1bafbb9b9a7c2bca3f0a18ee4952f2d325a56390578f12205db653a536f0100e0eda300a43a13bd1b9f3322405d1efd78e578dc6b3fb84f3738a4b6caa84feda91f3edb32231ec75300000000000087efa51c5d95ecba4e50e529d1e8c89600e809dc3d0a2f65579e23457949a50f2d0455cf79a43746979f99f6a1527f004f1e37a3926937e84fb478199dc1020f4beb98b88b5e7885e9a617aa6c8e10d4202c5afeb06e2f9115558ea12f92d7ae633d0f086b3f03b20d546fa66a72e38207c9d20035ab63de71a30f1240de52536941242d23896ab74a3c6670fdc49c14f34fc4eadd6db8d80eba439772bf60a1db1829f1a57d3f18f4edaeb5d37918e6fddcd821da67a0785585a4443440dc65600e64a6a2744c46570e8f46da1ab990ca053cbfe801000000000000000000000000000000d55d7182af2ea5f8d0ad495e3eb9421963a5a683c3dcb2d300aa3b2cfe946d2348c35f5d67d68ac07c8f84b3679e77c2e629ecec7c12c35d6b6971b8ae13cc00956d2245e761f5a3bfdcdc18ac27db60c0a461ed2b3ecfb16d19037c8c88c91dda1f904fbbc864e95ad43d6dd6d5eadbcea25682ba4b91e14c3fbfdfd1d680e7f13a65dbaa1af102d97681656bf56ff0cf36518f674237ce097d39008cc3257778de878bcd37467386f993be6d20c93a7791e7f2a155ce379b4cda2500108052aeb9bd03ffbda9ff485d6576a492d436d52edcd420e7deaa4343a0add3941ae7c5f58af43866ca64750f43e583ca1ceb3a805e46beef9dca77a4edcbb42aa0caf0bbd6cec72d85540293cb4849b0610800000000000000000000000000000000f9814d5f6c8673c143ff2f901e71b8818665b56f7a03afe3d900007656859db4cb06aaaf9f02cfab5b9e61cc00e8e19429921b8df4c4c53bddea4cc48737842952ff08aeac15685df194ca89da8cf6d29a2be9779181fd5d105af5786094d9130f5826b18b9667b971a994f3fd069629a1052f441e96884fcdc91f4a974242aabfc8adbadc9ca27955b5c90f0bd9a46ed044272383d3768871a9c8cfd7948aea445c55684351002ed4a4af45341de8e5e1f33624bd2ec1591dd00bbe05000000f89a928662e9b9449db34394fc5e946fadaee576e28ac0feab4e3585ed43d206218f524083840a78b723621f3b706bb7f5e42b5376642f8ad4028d4ead407240e7467d1b37afe20690d7672c7e926fded95cf805516ad836eb730619a05af36fb28329d6feb33219cc9164461a8ba3afd5949b9a6046c53663df30a149414089c1ae8f3476236b05dde8dda4843a62c591f8d2b1a62d0db8dc826219bd87398b33e13e3a7a1511573cb1a8cdce3a8fea40792297d023ef52de2e75b9dbbfb8712ccc15c69cfb4c6c1bc2ae74621e536b9d3f09a15dada1561a8192d65cc59d7ed5a6bd610000000000000000000000000000000000000000000000b41248c570c4223a471b755ce6956908e2b0e5dbc5e71ff2373d3ed89c2e2eafac81c21ac2436d2ffacffe2fc0d601a50221c88a47b264c5129004f350963b52702c5a360000000000000000000000000000000b4077dc8a1801a8bf833350d302c5439ea3dd0f3b8eb1dc93af1fbf863d33a38a5aa02ec1e5b90cb673d6b0cfe7f35b20e438653e0f73ddfc78e3e1d1cc9798af0eb9b61bb4fc72454a57237b68ea614ad898374e952784a18ffb9dc4447acd7ad28a63f88007ad8cba31a6fdd9982c97a913dffe69654d3a00b98c45ead9b9619f946c82f5789379d0d942020652ccfac45e1ef5e93e72b7d5381a3c61fbabc1286285110540075bc7aee3e595f9850b9e96887d53404add0021b198be851d9f797d6d4fe7501997524d28ce7b1d5f8203d9f756efd5676c5d85052030c27e2a99ee39007d9b3c305b1c7d14899b42149d6c437d863651d30426e36ff66bafa93ce3f76c18b8c91ac65b7ab49f03b7c0d04f87f5698a90c6bcfde7687e1ee0369e88d674f51fe69423000000000000596444d8a7bf983d6f0342b2987e520542c1f725402404f37cda7868234eeefbd472c7b396c182f2b9a8bf2f85ad1a7b18681784c8fcf0cf5e34baebc594de0d6c9244a834b82a162739619b5f2e3c24378417f71f855b7958fbae631a8aa30b2120a9e23d8711f529b0cd7ce6ee2b0841a4d9e82e6ef54089b64175338ed7effe440c97c663a1000000000033f9ee8bc74fb676198caf54f9a07461c30b4b65890f2b64e68eb2a265f641e68af046fb8751055c6dba7e49068656dbf01c26b3812cec4204084e4c3f5abb86121a3eddd10720d3b66a3a8033aab499cf56b7e5b01d37c1d7b4f5968040cd727efc9a1d69fa550313969508472ec9af3327d1bcae9167e3316f272ba2efdebf91f15b4a2bc27ea303834692d92961d3dcff0e4f55d9e3e7c66e8d3324216c4c77b95c000c5f30d56da969b1ce3a3e1a8ce5a632b3c404e7b455cac15273ce31a57dc723e173d14b65bed120f5396671eb7f8670ddc26ecc7461b1badfc98076c95aa811954827767c023c51e183cf1de0230912617f72169a3f9bda12d14667855757ca543b524491e213929a9d095abb9e57f33ad7e5301e5995e65246bc06f931d983596a4979d403f1b3884123633e9af67a0972612b5874f2c8db14855444c7155f7bd177017c7bc1"], &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffd00}, 0x48) 01:43:03 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000480)={0xbc, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_FWMARK={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_PEERS={0x84, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "4a0a9eaf21dc013a61d534bec64f2e6d407d3c7b8400d9307629bc51e40078ce"}, @WGPEER_A_ALLOWEDIPS={0xc, 0x9, 0x0, 0x1, [{0x8}, {0x4}]}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}]}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}]}, 0xbc}}, 0x0) 01:43:03 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000380)=@RTM_NEWMDB={0x18, 0x13, 0xf2f78569b65810af}, 0x18}}, 0x0) 01:43:03 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000480)={0xbc, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_FWMARK={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_PEERS={0x84, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "4a0a9eaf21dc013a61d534bec64f2e6d407d3c7b8400d9307629bc51e40078ce"}, @WGPEER_A_ALLOWEDIPS={0xc, 0x9, 0x0, 0x1, [{0x8}, {0x4}]}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}]}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}]}, 0xbc}}, 0x0) 01:43:03 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) bpf$PROG_LOAD(0x5, &(0x7f00000017c0)={0x1, 0xe, &(0x7f0000001840)=ANY=[@ANYBLOB="b7000000010003c3bfa30000000000000703000020feffff720af0fff8ffffff71a4f0ff000000000f040000000000006d4005000000000047000000016d00007b030000000000001d440000000000007a0a00fe00ffffffc303000000000000b5000000000000009500000000000000023bc065b78111c6dfa041b63af4a3912435f1a864a710aad58db6a693002e7f3be361917adef6ee1c8a2a4f8ef1e50becb19bc461e91a7168e51815548000000000000000275daf51efd601b6bf01c8e8b1b526375ee4dd6fcd82e4fee5bef7af9aa0d7f300c095199fe3ff3128e599b0eaebbdbd732c9cc00eec363e4a8f6456e5ccae25ea21714eca8cf5d803e04d83b46e21557c0afc646cb7790b3e6440c2fbdb00a3e35208b0bb0d2cd829e654400e2438ec649dc74a28610643a98d9ec21ead2ed51b104d4d91af25b845b9f75dd08d123deda8ebc72f526d8e8afcb913466aaa7f6df70252e79166d858fcd0e06dd31af9612f2460d0b11008e59a5923906f88b53987af1714e72ba7616536fd9aa58f2477184b6a89adaf17b0baf587aef370a2d426a6041bdef728d236619074d6ebdfd1f5089048ddff6da40f9411fe7226a40409d6e37c4f46756d31cb467600ade70063e5291569b33d21dae356e1c51f03a801be8189679a16da18ec0ae564162a277c7a775d55dfc28abbe9b5ea62d84f3a10746443d64364f56e24e6d2105bd901128c7e0ec82770c8206b1deeed4155617572652d950ad31928b0b0c3dc2869f478341d02d0f5ad94b081fcd507acb4b9c65fee7d26b34381fcb59b854e9d5a17f48a7382f13d000000225d85ae49cee383dc5049076b98fb6853ab39a21514da60d2ae20cfb91d6a49964757cdf538f9ce2bdb1ab062cd54e67051d355d84ce97bb0c6b4a595e487efbb2d71cde2c10f0bc6980fe78683ac5c0c31032599ddd71063be9261eee52216d009f4c52048ef8c126aeef5f510a8f1aded94a129e4aec6e8d9ab06faffc3a15d96c2ea3e2e04cfe031b287539d0540059fe6c7fe7cd8697502c7596566d674e425da5e87e59602a9f6590521d36f38df9ba60248d9a0d61282dfb15eb6841bb64a1b3045024a982f3c48153baae2c4e7bf37548c7f1a4cad2422ee965a38f7defbd2960242b104e20dc2d9b0c3560811ea6c3560a43364d402ccdd9069bd50b994fd6a34ee18022a579dfc0229cc0dc9881610270928eeeb883418f562ae00003ea96d10f172c0374d6eed826407000000000000004a9c5a90ff59d54d1f92ecc48899b212c55318294270a1ad10c80fef7c24d47afce829ba0f85da6d888f18ea40ab959f6074ab2a40d85d15017ab513cdc6c0e57fb1c1ca5f1380d7b4ead35a385e0b4a26b702396df7e0c1e02b6e4114f244a9bf93f04bf072f0861f5c0b000000000000eedcf2ba1a9508f9d6aba582a896a9f1ffa968eacea75caf822a7a63ba34015ea52acb1188883ad2a3b1832371fe5bc621426d1ed0a4a99702cc1b6912a1e717d29135753208165b9cdbae2ed9dc7358f0ebadde0b727f27feeb744ddcc536cbae315c7d851680f6f2f9a6a8906943408e6df3c391e97ba48db0a5adbfd03aac93df8866fb010aec0e92bed1fe39af169d2a466f4ca2195234648e0a1ca50db6f3d9436a7d55fc30511d00000000c95265b2bd83d64a532869d701723fedcbada1ee7baa19faf67256b56a41fd355b6a686b50f0937f778af083e055f6138a757ebd0ed91124a6b244f9acf41ac5d73a008364e0606a594817031fc2f52c8785fe0721719b3d654026c6ea08b83b123145eb6dc5f6a9037d2283c42efc54fa84323a3304f41ff462c8843187f1dd48ef3fa293774d582956ff0f40b10ca94f6feeb2893c17888e1cdba94a6ea80c33ead5722c3293a493f1479531dd88261458f40d31fe8df15efaaeea831555877f9538c6ee6ba65893ff1f928ba7554ba583fef3ec7932f5954f31a878e2fae6691d1aee1da02ba516467df3e7d1daac43738612e4fee18a22da19fcdb4c2890cda1f96b952511e3a69d694d625e0b2f80724a5bfc1e8890205f3a6da2819d2f9e77c7c64affa54fec0136cbafa5f62e96753b639a924599c1f69219927ea5301fff0a6063d427f068840a754c02180d61542c2571f983e96735600000554f327a353511ccedde99493c31ac05a7b57f03ca91a01ba2c60ca99e8ebc15ecfd64bbca48568325b2969e2b15f36b788bce5ccdbaf75c94cb93499f6947a967a7bce14c6d80010f5c653d22d49030a8c2a4ab595bf4238f18ca428dafc7ac96d40460780000000051a2104f22e6db5a62b5089c1b45282d38864daa3ae81d6b0968d1d2867b91b7d120968308c31db2633d6864da40b54783a17aaeb6737c323f9f98e354cc98c2c73e1661261173f359e93d2c80000000998809ec8f0232b3955e052a4cecd89008f70314a0bdd491ec86a4555d89fe0120f64c62e8e3ed8bcb45202c204bbec8d722824c0ebccbaf1ea4a003fe9af5d785d0128171c90d9900ce2532b0f9d01c4b45294fbba468df3e1b393cb4e62e754598e47df6bd06431c94bc5d047899fd219f448bf9189c65c9d91eda6b52a373803a9e0600f86909bc90addb7b9aee813df534aac4b32fc7741c7e3f426b9ed20debd883593ff5d691b8068cd849904568916694d461b76a58d88cf0f520310a1e9fdc18cde98d662eee077515d0a8811922929e085392ab3d1311b8243266d87047f601fa88a000000000000000000000000000006acc19808d7cf29bc974b0ea92499a419aa095e203c1bafbb9b9a7c2bca3f0a18ee4952f2d325a56390578f12205db653a536f0100e0eda300a43a13bd1b9f3322405d1efd78e578dc6b3fb84f3738a4b6caa84feda91f3edb32231ec75300000000000087efa51c5d95ecba4e50e529d1e8c89600e809dc3d0a2f65579e23457949a50f2d0455cf79a43746979f99f6a1527f004f1e37a3926937e84fb478199dc1020f4beb98b88b5e7885e9a617aa6c8e10d4202c5afeb06e2f9115558ea12f92d7ae633d0f086b3f03b20d546fa66a72e38207c9d20035ab63de71a30f1240de52536941242d23896ab74a3c6670fdc49c14f34fc4eadd6db8d80eba439772bf60a1db1829f1a57d3f18f4edaeb5d37918e6fddcd821da67a0785585a4443440dc65600e64a6a2744c46570e8f46da1ab990ca053cbfe801000000000000000000000000000000d55d7182af2ea5f8d0ad495e3eb9421963a5a683c3dcb2d300aa3b2cfe946d2348c35f5d67d68ac07c8f84b3679e77c2e629ecec7c12c35d6b6971b8ae13cc00956d2245e761f5a3bfdcdc18ac27db60c0a461ed2b3ecfb16d19037c8c88c91dda1f904fbbc864e95ad43d6dd6d5eadbcea25682ba4b91e14c3fbfdfd1d680e7f13a65dbaa1af102d97681656bf56ff0cf36518f674237ce097d39008cc3257778de878bcd37467386f993be6d20c93a7791e7f2a155ce379b4cda2500108052aeb9bd03ffbda9ff485d6576a492d436d52edcd420e7deaa4343a0add3941ae7c5f58af43866ca64750f43e583ca1ceb3a805e46beef9dca77a4edcbb42aa0caf0bbd6cec72d85540293cb4849b0610800000000000000000000000000000000f9814d5f6c8673c143ff2f901e71b8818665b56f7a03afe3d900007656859db4cb06aaaf9f02cfab5b9e61cc00e8e19429921b8df4c4c53bddea4cc48737842952ff08aeac15685df194ca89da8cf6d29a2be9779181fd5d105af5786094d9130f5826b18b9667b971a994f3fd069629a1052f441e96884fcdc91f4a974242aabfc8adbadc9ca27955b5c90f0bd9a46ed044272383d3768871a9c8cfd7948aea445c55684351002ed4a4af45341de8e5e1f33624bd2ec1591dd00bbe05000000f89a928662e9b9449db34394fc5e946fadaee576e28ac0feab4e3585ed43d206218f524083840a78b723621f3b706bb7f5e42b5376642f8ad4028d4ead407240e7467d1b37afe20690d7672c7e926fded95cf805516ad836eb730619a05af36fb28329d6feb33219cc9164461a8ba3afd5949b9a6046c53663df30a149414089c1ae8f3476236b05dde8dda4843a62c591f8d2b1a62d0db8dc826219bd87398b33e13e3a7a1511573cb1a8cdce3a8fea40792297d023ef52de2e75b9dbbfb8712ccc15c69cfb4c6c1bc2ae74621e536b9d3f09a15dada1561a8192d65cc59d7ed5a6bd610000000000000000000000000000000000000000000000b41248c570c4223a471b755ce6956908e2b0e5dbc5e71ff2373d3ed89c2e2eafac81c21ac2436d2ffacffe2fc0d601a50221c88a47b264c5129004f350963b52702c5a360000000000000000000000000000000b4077dc8a1801a8bf833350d302c5439ea3dd0f3b8eb1dc93af1fbf863d33a38a5aa02ec1e5b90cb673d6b0cfe7f35b20e438653e0f73ddfc78e3e1d1cc9798af0eb9b61bb4fc72454a57237b68ea614ad898374e952784a18ffb9dc4447acd7ad28a63f88007ad8cba31a6fdd9982c97a913dffe69654d3a00b98c45ead9b9619f946c82f5789379d0d942020652ccfac45e1ef5e93e72b7d5381a3c61fbabc1286285110540075bc7aee3e595f9850b9e96887d53404add0021b198be851d9f797d6d4fe7501997524d28ce7b1d5f8203d9f756efd5676c5d85052030c27e2a99ee39007d9b3c305b1c7d14899b42149d6c437d863651d30426e36ff66bafa93ce3f76c18b8c91ac65b7ab49f03b7c0d04f87f5698a90c6bcfde7687e1ee0369e88d674f51fe69423000000000000596444d8a7bf983d6f0342b2987e520542c1f725402404f37cda7868234eeefbd472c7b396c182f2b9a8bf2f85ad1a7b18681784c8fcf0cf5e34baebc594de0d6c9244a834b82a162739619b5f2e3c24378417f71f855b7958fbae631a8aa30b2120a9e23d8711f529b0cd7ce6ee2b0841a4d9e82e6ef54089b64175338ed7effe440c97c663a1000000000033f9ee8bc74fb676198caf54f9a07461c30b4b65890f2b64e68eb2a265f641e68af046fb8751055c6dba7e49068656dbf01c26b3812cec4204084e4c3f5abb86121a3eddd10720d3b66a3a8033aab499cf56b7e5b01d37c1d7b4f5968040cd727efc9a1d69fa550313969508472ec9af3327d1bcae9167e3316f272ba2efdebf91f15b4a2bc27ea303834692d92961d3dcff0e4f55d9e3e7c66e8d3324216c4c77b95c000c5f30d56da969b1ce3a3e1a8ce5a632b3c404e7b455cac15273ce31a57dc723e173d14b65bed120f5396671eb7f8670ddc26ecc7461b1badfc98076c95aa811954827767c023c51e183cf1de0230912617f72169a3f9bda12d14667855757ca543b524491e213929a9d095abb9e57f33ad7e5301e5995e65246bc06f931d983596a4979d403f1b3884123633e9af67a0972612b5874f2c8db14855444c7155f7bd177017c7bc1"], &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffd00}, 0x48) 01:43:03 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000380)=@RTM_NEWMDB={0x18, 0x13, 0xf2f78569b65810af}, 0x18}}, 0x0) 01:43:03 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000480)={0xbc, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_FWMARK={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_PEERS={0x84, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "4a0a9eaf21dc013a61d534bec64f2e6d407d3c7b8400d9307629bc51e40078ce"}, @WGPEER_A_ALLOWEDIPS={0xc, 0x9, 0x0, 0x1, [{0x8}, {0x4}]}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}]}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}]}, 0xbc}}, 0x0) 01:43:03 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000480)={0xbc, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_FWMARK={0x8}, @WGDEVICE_A_FLAGS={0x8}, @WGDEVICE_A_PEERS={0x84, 0x8, 0x0, 0x1, [{0x58, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @b_g}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "4a0a9eaf21dc013a61d534bec64f2e6d407d3c7b8400d9307629bc51e40078ce"}, @WGPEER_A_ALLOWEDIPS={0xc, 0x9, 0x0, 0x1, [{0x8}, {0x4}]}]}, {0x28, 0x0, 0x0, 0x1, [@WGPEER_A_PUBLIC_KEY={0x24, 0x1, @c_g}]}]}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg0\x00'}]}, 0xbc}}, 0x0) 01:43:03 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) bpf$PROG_LOAD(0x5, &(0x7f00000017c0)={0x1, 0xe, &(0x7f0000001840)=ANY=[@ANYBLOB="b7000000010003c3bfa30000000000000703000020feffff720af0fff8ffffff71a4f0ff000000000f040000000000006d4005000000000047000000016d00007b030000000000001d440000000000007a0a00fe00ffffffc303000000000000b5000000000000009500000000000000023bc065b78111c6dfa041b63af4a3912435f1a864a710aad58db6a693002e7f3be361917adef6ee1c8a2a4f8ef1e50becb19bc461e91a7168e51815548000000000000000275daf51efd601b6bf01c8e8b1b526375ee4dd6fcd82e4fee5bef7af9aa0d7f300c095199fe3ff3128e599b0eaebbdbd732c9cc00eec363e4a8f6456e5ccae25ea21714eca8cf5d803e04d83b46e21557c0afc646cb7790b3e6440c2fbdb00a3e35208b0bb0d2cd829e654400e2438ec649dc74a28610643a98d9ec21ead2ed51b104d4d91af25b845b9f75dd08d123deda8ebc72f526d8e8afcb913466aaa7f6df70252e79166d858fcd0e06dd31af9612f2460d0b11008e59a5923906f88b53987af1714e72ba7616536fd9aa58f2477184b6a89adaf17b0baf587aef370a2d426a6041bdef728d236619074d6ebdfd1f5089048ddff6da40f9411fe7226a40409d6e37c4f46756d31cb467600ade70063e5291569b33d21dae356e1c51f03a801be8189679a16da18ec0ae564162a277c7a775d55dfc28abbe9b5ea62d84f3a10746443d64364f56e24e6d2105bd901128c7e0ec82770c8206b1deeed4155617572652d950ad31928b0b0c3dc2869f478341d02d0f5ad94b081fcd507acb4b9c65fee7d26b34381fcb59b854e9d5a17f48a7382f13d000000225d85ae49cee383dc5049076b98fb6853ab39a21514da60d2ae20cfb91d6a49964757cdf538f9ce2bdb1ab062cd54e67051d355d84ce97bb0c6b4a595e487efbb2d71cde2c10f0bc6980fe78683ac5c0c31032599ddd71063be9261eee52216d009f4c52048ef8c126aeef5f510a8f1aded94a129e4aec6e8d9ab06faffc3a15d96c2ea3e2e04cfe031b287539d0540059fe6c7fe7cd8697502c7596566d674e425da5e87e59602a9f6590521d36f38df9ba60248d9a0d61282dfb15eb6841bb64a1b3045024a982f3c48153baae2c4e7bf37548c7f1a4cad2422ee965a38f7defbd2960242b104e20dc2d9b0c3560811ea6c3560a43364d402ccdd9069bd50b994fd6a34ee18022a579dfc0229cc0dc9881610270928eeeb883418f562ae00003ea96d10f172c0374d6eed826407000000000000004a9c5a90ff59d54d1f92ecc48899b212c55318294270a1ad10c80fef7c24d47afce829ba0f85da6d888f18ea40ab959f6074ab2a40d85d15017ab513cdc6c0e57fb1c1ca5f1380d7b4ead35a385e0b4a26b702396df7e0c1e02b6e4114f244a9bf93f04bf072f0861f5c0b000000000000eedcf2ba1a9508f9d6aba582a896a9f1ffa968eacea75caf822a7a63ba34015ea52acb1188883ad2a3b1832371fe5bc621426d1ed0a4a99702cc1b6912a1e717d29135753208165b9cdbae2ed9dc7358f0ebadde0b727f27feeb744ddcc536cbae315c7d851680f6f2f9a6a8906943408e6df3c391e97ba48db0a5adbfd03aac93df8866fb010aec0e92bed1fe39af169d2a466f4ca2195234648e0a1ca50db6f3d9436a7d55fc30511d00000000c95265b2bd83d64a532869d701723fedcbada1ee7baa19faf67256b56a41fd355b6a686b50f0937f778af083e055f6138a757ebd0ed91124a6b244f9acf41ac5d73a008364e0606a594817031fc2f52c8785fe0721719b3d654026c6ea08b83b123145eb6dc5f6a9037d2283c42efc54fa84323a3304f41ff462c8843187f1dd48ef3fa293774d582956ff0f40b10ca94f6feeb2893c17888e1cdba94a6ea80c33ead5722c3293a493f1479531dd88261458f40d31fe8df15efaaeea831555877f9538c6ee6ba65893ff1f928ba7554ba583fef3ec7932f5954f31a878e2fae6691d1aee1da02ba516467df3e7d1daac43738612e4fee18a22da19fcdb4c2890cda1f96b952511e3a69d694d625e0b2f80724a5bfc1e8890205f3a6da2819d2f9e77c7c64affa54fec0136cbafa5f62e96753b639a924599c1f69219927ea5301fff0a6063d427f068840a754c02180d61542c2571f983e96735600000554f327a353511ccedde99493c31ac05a7b57f03ca91a01ba2c60ca99e8ebc15ecfd64bbca48568325b2969e2b15f36b788bce5ccdbaf75c94cb93499f6947a967a7bce14c6d80010f5c653d22d49030a8c2a4ab595bf4238f18ca428dafc7ac96d40460780000000051a2104f22e6db5a62b5089c1b45282d38864daa3ae81d6b0968d1d2867b91b7d120968308c31db2633d6864da40b54783a17aaeb6737c323f9f98e354cc98c2c73e1661261173f359e93d2c80000000998809ec8f0232b3955e052a4cecd89008f70314a0bdd491ec86a4555d89fe0120f64c62e8e3ed8bcb45202c204bbec8d722824c0ebccbaf1ea4a003fe9af5d785d0128171c90d9900ce2532b0f9d01c4b45294fbba468df3e1b393cb4e62e754598e47df6bd06431c94bc5d047899fd219f448bf9189c65c9d91eda6b52a373803a9e0600f86909bc90addb7b9aee813df534aac4b32fc7741c7e3f426b9ed20debd883593ff5d691b8068cd849904568916694d461b76a58d88cf0f520310a1e9fdc18cde98d662eee077515d0a8811922929e085392ab3d1311b8243266d87047f601fa88a000000000000000000000000000006acc19808d7cf29bc974b0ea92499a419aa095e203c1bafbb9b9a7c2bca3f0a18ee4952f2d325a56390578f12205db653a536f0100e0eda300a43a13bd1b9f3322405d1efd78e578dc6b3fb84f3738a4b6caa84feda91f3edb32231ec75300000000000087efa51c5d95ecba4e50e529d1e8c89600e809dc3d0a2f65579e23457949a50f2d0455cf79a43746979f99f6a1527f004f1e37a3926937e84fb478199dc1020f4beb98b88b5e7885e9a617aa6c8e10d4202c5afeb06e2f9115558ea12f92d7ae633d0f086b3f03b20d546fa66a72e38207c9d20035ab63de71a30f1240de52536941242d23896ab74a3c6670fdc49c14f34fc4eadd6db8d80eba439772bf60a1db1829f1a57d3f18f4edaeb5d37918e6fddcd821da67a0785585a4443440dc65600e64a6a2744c46570e8f46da1ab990ca053cbfe801000000000000000000000000000000d55d7182af2ea5f8d0ad495e3eb9421963a5a683c3dcb2d300aa3b2cfe946d2348c35f5d67d68ac07c8f84b3679e77c2e629ecec7c12c35d6b6971b8ae13cc00956d2245e761f5a3bfdcdc18ac27db60c0a461ed2b3ecfb16d19037c8c88c91dda1f904fbbc864e95ad43d6dd6d5eadbcea25682ba4b91e14c3fbfdfd1d680e7f13a65dbaa1af102d97681656bf56ff0cf36518f674237ce097d39008cc3257778de878bcd37467386f993be6d20c93a7791e7f2a155ce379b4cda2500108052aeb9bd03ffbda9ff485d6576a492d436d52edcd420e7deaa4343a0add3941ae7c5f58af43866ca64750f43e583ca1ceb3a805e46beef9dca77a4edcbb42aa0caf0bbd6cec72d85540293cb4849b0610800000000000000000000000000000000f9814d5f6c8673c143ff2f901e71b8818665b56f7a03afe3d900007656859db4cb06aaaf9f02cfab5b9e61cc00e8e19429921b8df4c4c53bddea4cc48737842952ff08aeac15685df194ca89da8cf6d29a2be9779181fd5d105af5786094d9130f5826b18b9667b971a994f3fd069629a1052f441e96884fcdc91f4a974242aabfc8adbadc9ca27955b5c90f0bd9a46ed044272383d3768871a9c8cfd7948aea445c55684351002ed4a4af45341de8e5e1f33624bd2ec1591dd00bbe05000000f89a928662e9b9449db34394fc5e946fadaee576e28ac0feab4e3585ed43d206218f524083840a78b723621f3b706bb7f5e42b5376642f8ad4028d4ead407240e7467d1b37afe20690d7672c7e926fded95cf805516ad836eb730619a05af36fb28329d6feb33219cc9164461a8ba3afd5949b9a6046c53663df30a149414089c1ae8f3476236b05dde8dda4843a62c591f8d2b1a62d0db8dc826219bd87398b33e13e3a7a1511573cb1a8cdce3a8fea40792297d023ef52de2e75b9dbbfb8712ccc15c69cfb4c6c1bc2ae74621e536b9d3f09a15dada1561a8192d65cc59d7ed5a6bd610000000000000000000000000000000000000000000000b41248c570c4223a471b755ce6956908e2b0e5dbc5e71ff2373d3ed89c2e2eafac81c21ac2436d2ffacffe2fc0d601a50221c88a47b264c5129004f350963b52702c5a360000000000000000000000000000000b4077dc8a1801a8bf833350d302c5439ea3dd0f3b8eb1dc93af1fbf863d33a38a5aa02ec1e5b90cb673d6b0cfe7f35b20e438653e0f73ddfc78e3e1d1cc9798af0eb9b61bb4fc72454a57237b68ea614ad898374e952784a18ffb9dc4447acd7ad28a63f88007ad8cba31a6fdd9982c97a913dffe69654d3a00b98c45ead9b9619f946c82f5789379d0d942020652ccfac45e1ef5e93e72b7d5381a3c61fbabc1286285110540075bc7aee3e595f9850b9e96887d53404add0021b198be851d9f797d6d4fe7501997524d28ce7b1d5f8203d9f756efd5676c5d85052030c27e2a99ee39007d9b3c305b1c7d14899b42149d6c437d863651d30426e36ff66bafa93ce3f76c18b8c91ac65b7ab49f03b7c0d04f87f5698a90c6bcfde7687e1ee0369e88d674f51fe69423000000000000596444d8a7bf983d6f0342b2987e520542c1f725402404f37cda7868234eeefbd472c7b396c182f2b9a8bf2f85ad1a7b18681784c8fcf0cf5e34baebc594de0d6c9244a834b82a162739619b5f2e3c24378417f71f855b7958fbae631a8aa30b2120a9e23d8711f529b0cd7ce6ee2b0841a4d9e82e6ef54089b64175338ed7effe440c97c663a1000000000033f9ee8bc74fb676198caf54f9a07461c30b4b65890f2b64e68eb2a265f641e68af046fb8751055c6dba7e49068656dbf01c26b3812cec4204084e4c3f5abb86121a3eddd10720d3b66a3a8033aab499cf56b7e5b01d37c1d7b4f5968040cd727efc9a1d69fa550313969508472ec9af3327d1bcae9167e3316f272ba2efdebf91f15b4a2bc27ea303834692d92961d3dcff0e4f55d9e3e7c66e8d3324216c4c77b95c000c5f30d56da969b1ce3a3e1a8ce5a632b3c404e7b455cac15273ce31a57dc723e173d14b65bed120f5396671eb7f8670ddc26ecc7461b1badfc98076c95aa811954827767c023c51e183cf1de0230912617f72169a3f9bda12d14667855757ca543b524491e213929a9d095abb9e57f33ad7e5301e5995e65246bc06f931d983596a4979d403f1b3884123633e9af67a0972612b5874f2c8db14855444c7155f7bd177017c7bc1"], &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffd00}, 0x48) 01:43:03 executing program 2: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x81, 0x0) write$fb(r0, 0x0, 0x0) 01:43:03 executing program 3: seccomp$SECCOMP_SET_MODE_FILTER(0x1, 0x0, &(0x7f0000000040)={0x1, &(0x7f0000000080)=[{0x6, 0x0, 0x0, 0x7fff0008}]}) times(0x0) [ 1145.235919][ T37] audit: type=1400 audit(1641433383.132:775): avc: denied { read } for pid=3268 comm="syz-executor.1" name="usbmon0" dev="devtmpfs" ino=721 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:usbmon_device_t tclass=chr_file permissive=1 01:43:03 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) r1 = openat$incfs(0xffffffffffffffff, &(0x7f00000003c0)='.log\x00', 0x80000, 0x95) r2 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000180), 0x383002, 0x0) execveat(0xffffffffffffffff, &(0x7f0000000580)='./file0\x00', &(0x7f0000000600)=[&(0x7f00000005c0)='-U\x00'], &(0x7f0000000880)=[&(0x7f0000000640)='\x00', &(0x7f0000000680)='\x00', &(0x7f00000006c0)='\xff\xff\xff\xff\xff\xff', &(0x7f0000000700)='}+\x00', &(0x7f0000000740)='}/.*[/\x00', &(0x7f0000000780)='\x00', &(0x7f00000007c0)='%}\x00', &(0x7f0000000800)='\xab%\xee[\x00', &(0x7f0000000840)='\xff\xff\xff\xff\xff\xff'], 0x1000) sendmsg$IPVS_CMD_SET_INFO(r2, 0x0, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000540)={r1, &(0x7f0000000400)="40b9f387a3dc5091ce39976741d4a475c0b8528a9796d60e3cd7411009f5a43a3d21793d20ef5f727ff807e9dbe5d866cd4c8ea2369c2590fe8f293d3f6a6430cbbfcda08b00f840f238cf76aca4fb978a4cc7ae6d4ef733400a9522f673f6b8cfb58b16a3eb37529824b43b41dfebd08620eba1285b6124010b0dc943f71bdbe47cdc893236d8132372fe55b6686e7a46cb0682efa8cb47fc0fc62d353f48a749d6d06850d751bdb58f8c57500cc721da1b38b0dcd6b9b51e7d86db5bfcec134633d87972e7793e0c8c01b18423c880de5739f327bf2eb7f3b61dbb0041e1a41350742756b6f8bb4d868fcdf2edf19470cb2f338f3f39f8d838b6da78", &(0x7f0000000500)=@udp=r2, 0x1}, 0x20) r3 = socket(0x11, 0xa, 0x0) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f00000000c0), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r3, &(0x7f0000000380)={&(0x7f0000000000), 0xc, &(0x7f0000000340)={&(0x7f0000000100)={0x22c, r4, 0x100, 0x70bd27, 0x25dfdbfe, {{}, {@void, @void}}, [@NL80211_ATTR_BEACON_TAIL={0x217, 0xf, [@random={0xf8, 0x1, 'b'}, @measure_req={0x26, 0xcd, {0x7, 0x1, 0x7f, "f3e7a51cb245aefe4a42847a61b80bba1d851eac90a24f4dcd591cf2777a8804d314baf389afedb546e74f8f2d5bea43ab68a72df5e774adaa8b161004b63e6b92e753dfc368e24b861917c39d2543fad1f6b2a553e396fa9bb5101381839cd7fb2d2b4a598100dbcced94f63f6e538dd311476f87930ae13963209f75b3a045cf8e8255b803d4b5ee280bcc5e0a6caca11a63411c55e414717eba05851a1e1ba95d1078b7b46292b53f5f295b555a325b92b9585f5af2ac25d28a1b4085097eba0a85c3c1529860170a"}}, @fast_bss_trans={0x37, 0x78, {0x8, 0x3, "52ec1742fe840a17e456121ec586e1b8", "6d0c029b7a0b6bebe16e87fb29da3fbdc41ef1388e38b6752cf9c72301e089f6", "7cd590543043af3d0a4f5a0dc209cfe82414cfd26b78464160d772c9cff77a81", [{0x1}, {0x2, 0x4, "1f26a7fe"}, {0x1, 0x1c, "0206d9f5fdfc1ba41ffb1e73847522edc62a3ee091f65f5b6e0aa1a1"}]}}, @ssid={0x0, 0x6, @default_ibss_ssid}, @rann={0x7e, 0x15, {{0x1, 0x31}, 0x5, 0x20, @broadcast, 0xfffffff7, 0x80000000, 0x1}}, @mesh_config={0x71, 0x7, {0x0, 0x0, 0x0, 0x0, 0x1, 0x6}}, @ssid={0x0, 0x6, @default_ap_ssid}, @random={0xfa, 0x20, "4204f46d93f7e767ec8abc91cffb1c7dda6cba2b322b611946407c8d116f38b9"}, @fast_bss_trans={0x37, 0x73, {0x3, 0x1, "4b96ad3df86f4d514ea1652fb90e550d", "1a380b07b5eeec3a15aa0552e2989ef1811a50f298462d1b8dce98b41019639f", "7231d8555403c3592795c9cb1188f7f3eacb86fff34aa12c4332e4ac56c4808e", [{0x2, 0x1f, "2d39b9fb0320c918e3d0ccdda319cdeacdfa69b609f084a5d2e55b66b0a2ef"}]}}]}]}, 0x22c}, 0x1, 0x0, 0x0, 0x4}, 0x4000840) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r1, &(0x7f0000000a00)={&(0x7f0000000900)={0x10, 0x0, 0x0, 0x80000000}, 0xc, &(0x7f00000009c0)={&(0x7f0000000940)={0x80, r4, 0x2, 0x70bd25, 0x25dfdbff, {{}, {@val={0x8}, @val={0xc, 0x99, {0x6, 0x3a}}}}, [@NL80211_ATTR_CH_SWITCH_BLOCK_TX={0x4}, @chandef_params=[@NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x4}, @NL80211_ATTR_WIPHY_EDMG_CHANNELS={0x5, 0x118, 0x29}, @NL80211_ATTR_WIPHY_EDMG_CHANNELS={0x5, 0x118, 0x34}, @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG={0x5, 0x119, 0x8}, @NL80211_ATTR_WIPHY_FREQ_OFFSET={0x8, 0x122, 0x376}], @NL80211_ATTR_CH_SWITCH_BLOCK_TX={0x4}, @NL80211_ATTR_CH_SWITCH_BLOCK_TX={0x4}, @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8}, @NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x2}, @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG={0x5, 0x119, 0x5}], @NL80211_ATTR_CH_SWITCH_BLOCK_TX={0x4}, @chandef_params=[@NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0xdaf}]]}, 0x80}, 0x1, 0x0, 0x0, 0x4000}, 0xc815) ioctl$sock_inet6_SIOCADDRT(r0, 0x890b, &(0x7f0000000040)={@empty, @private1, @local, 0x4000100, 0x0, 0x0, 0x2d05b3348dd34edc, 0xa, 0x1400200}) 01:43:03 executing program 1: r0 = syz_open_dev$usbmon(&(0x7f0000001240), 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f00000012c0)={0x0}) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000240)={0x0}) 01:43:03 executing program 2: r0 = syz_open_dev$video4linux(&(0x7f0000000300), 0x5, 0x0) ioctl$VIDIOC_SUBDEV_S_SELECTION(r0, 0xc040563e, &(0x7f0000000340)={0x0, 0x0, 0x0, 0x0, {0xfffffffa}}) 01:43:03 executing program 2: r0 = syz_open_dev$video4linux(&(0x7f0000000300), 0x5, 0x0) ioctl$VIDIOC_SUBDEV_S_SELECTION(r0, 0xc040563e, &(0x7f0000000340)={0x0, 0x0, 0x0, 0x0, {0xfffffffa}}) 01:43:03 executing program 3: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f0000005400)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000a40)=ANY=[@ANYBLOB="5001000024000b0f0000f8ff0000000000000000", @ANYRES32=r1, @ANYBLOB="00000000ffffffff000000000800010072656400240102001400010000f0ffff000000003f00000000000000040102"], 0x150}}, 0x0) r2 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r2, &(0x7f0000000140)=[{0x2, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100)}], 0x492492492492805, 0x0) 01:43:03 executing program 0: syz_usbip_server_init(0x1) [ 1145.263955][ T37] audit: type=1400 audit(1641433383.132:776): avc: denied { open } for pid=3268 comm="syz-executor.1" path="/dev/usbmon0" dev="devtmpfs" ino=721 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:usbmon_device_t tclass=chr_file permissive=1 [ 1145.276790][ T3274] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. [ 1145.305542][ T37] audit: type=1400 audit(1641433383.132:777): avc: denied { ioctl } for pid=3268 comm="syz-executor.1" path="/dev/usbmon0" dev="devtmpfs" ino=721 ioctlcmd=0x9207 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:usbmon_device_t tclass=chr_file permissive=1 01:43:03 executing program 2: r0 = syz_open_dev$video4linux(&(0x7f0000000300), 0x5, 0x0) ioctl$VIDIOC_SUBDEV_S_SELECTION(r0, 0xc040563e, &(0x7f0000000340)={0x0, 0x0, 0x0, 0x0, {0xfffffffa}}) [ 1145.313733][ T3278] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3) [ 1145.329096][ T3274] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. [ 1145.336469][ T3278] vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) [ 1145.349212][ T3278] vhci_hcd vhci_hcd.0: Device attached 01:43:03 executing program 2: r0 = syz_open_dev$video4linux(&(0x7f0000000300), 0x5, 0x0) ioctl$VIDIOC_SUBDEV_S_SELECTION(r0, 0xc040563e, &(0x7f0000000340)={0x0, 0x0, 0x0, 0x0, {0xfffffffa}}) 01:43:03 executing program 1: r0 = syz_open_dev$usbmon(&(0x7f0000001240), 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f00000012c0)={0x0}) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000240)={0x0}) [ 1145.362275][ T3279] vhci_hcd: connection closed [ 1145.374450][T30601] vhci_hcd: stop threads [ 1145.385587][T30601] vhci_hcd: release socket 01:43:03 executing program 3: r0 = syz_open_dev$usbmon(&(0x7f0000001240), 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f00000012c0)={0x0}) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000240)={0x0}) [ 1145.393607][T30601] vhci_hcd: disconnect device 01:43:03 executing program 2: r0 = socket(0x11, 0x800000003, 0x0) setsockopt$packet_buf(r0, 0x107, 0xf, &(0x7f0000000040)="a2e6919b", 0x4) r1 = socket(0x200000000000011, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000300)={'syz_tun\x00', 0x0}) bind$packet(r0, &(0x7f0000000000)={0x11, 0x0, r2, 0x1, 0x0, 0x6, @multicast}, 0x14) write$binfmt_aout(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="c7010200144c3a7ad006ecbea63d278d62442c561f3957132946b48eef1e93bc0c11"], 0xfdef) 01:43:03 executing program 2: recvmmsg$unix(0xffffffffffffffff, &(0x7f0000001700)=[{{&(0x7f0000000000), 0x6e, 0x0, 0x0, &(0x7f00000059c0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32, @ANYBLOB="d1ff971bb2312a3ad376e4866f3e1eafb75d253797849a04e8e1016c51c7a42ab9494bba2f99069f5364921144a080ac4a03db83dd0831aea1962976ed408f1cb198d9c4ed941ee4e3d0d2ce962d2f9a460a16b3761f74ac173b41891bb49b873b97cb95c0ca87d0908a12b53678bafd8a899a5b00ba63f2c32813bdc1ae613f51f53cbafa21d3a6d90bff36743340b66b43a09283ae03c82e52119272746ec406a2a7"], 0x58}}, {{&(0x7f0000000440)=@abs, 0x6e, &(0x7f0000000180), 0x0, &(0x7f00000015c0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e4ff0000ffff00000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="0000000018000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYBLOB="300000000000000001000000010000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32=0xffffffffffffffff, @ANYRES32, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00'], 0x108}}], 0x2, 0x10000, &(0x7f00000003c0)={0x77359400}) perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3179, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf315bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000002c0)=@newqdisc={0x74, 0x24, 0xd8b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@TCA_STAB={0x2c, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x0, 0x0, 0x0, 0xffffffff, 0x0, 0x0, 0xfffb, 0x3}}, {0xa, 0x2, [0x0, 0x100, 0x0]}}]}, @TCA_EGRESS_BLOCK={0x8, 0xe, 0xc0000000}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x6}, @qdisc_kind_options=@q_clsact={0xb}, @TCA_RATE={0x6, 0x5, {0x80, 0x27}}]}, 0x74}}, 0x0) lsetxattr$security_ima(&(0x7f00000017c0)='./file0\x00', &(0x7f0000001800), &(0x7f0000001840)=@sha1={0x1, "c9fb351f9a8e60285327968e08e67150687e6a6b"}, 0x15, 0x5) sendfile(r0, 0xffffffffffffffff, &(0x7f0000001780), 0xf8ee) r4 = socket$alg(0x26, 0x5, 0x0) bind$alg(r4, &(0x7f0000000100)={0x26, 'hash\x00', 0x0, 0x0, 'poly1305\x00'}, 0x58) r5 = accept4(r4, 0x0, 0x0, 0x0) sendmmsg(r5, &(0x7f00000004c0)=[{{0x0, 0x0, &(0x7f0000000400)=[{&(0x7f00000001c0)="54beb2f7ef3eb17f8d9dc00c6b10b4fca67c8ec096bdba1d60365c0222266f2ac6", 0x21}, {&(0x7f00000000c0)='j', 0x1}], 0x2, &(0x7f0000000480)=ANY=[], 0x10}}], 0x1, 0x0) r6 = creat(&(0x7f0000000200)='./bus\x00', 0x0) getsockopt$inet6_IPV6_XFRM_POLICY(r6, 0x29, 0x23, &(0x7f0000005ac0)={{{@in=@initdev, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@local}, 0x0, @in=@local}}, &(0x7f0000000340)=0xe8) ioctl$sock_inet6_SIOCSIFADDR(r5, 0x8916, &(0x7f0000000380)={@loopback, 0x34, r7}) r8 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) sendfile(r6, r8, 0x0, 0x40d0a) sendmmsg(r6, &(0x7f0000005900)=[{{&(0x7f0000001500)=@nfc_llcp={0x27, 0x0, 0x2, 0x5, 0x3, 0x20, "859952d14ec9ca9f06c1162c70947c156bf270ee11a10fa8700c80985ed92bd996de3f9e1fa4efb7b58a7fd2f17808d9870707cefa97c3ed10004fc5c5dd7b", 0x17}, 0x80, &(0x7f0000002a40)=[{&(0x7f0000000180)="cb6651079db205cd5599ce0c83ab510748716b4bbf5fdf5b814f8b2d3b53c3ec02e9", 0x22}, {&(0x7f0000001880)="67b3d2f6f2f623761799461e98b1d527950334d7aa5ea6ca9468fa2cc7b460212d5cd868d314f8fdf9fbc8c58afe5f86c58e7cb7a30cd1991342892d75c091666a75c01dbd9c3b0372233b02b2d57372a84d5bd70806fb1cdc63fff8018c0ecc52f89ebb3bd36155d480fc8e6a91a43e97f613b2922566da391ba88842a3a9bbdba9d15bf6d4fec9cd4c0e05bc0aaebf81443aa56ed5f549bf146c094ab55eb41aae1494ec6664e8604996d7be2b860bdf0a9f3dd6ccd3c1f9bd0242032ebcd5c1c61d287a14260cfa750dd50c4335ab7fef5a479b5139ac381af99c9a10b2baed858de3278b7d838931bebdc7c802876713826c5ff1cef858269625dacb6d476f6d13c33d8d2124cfccc92b68cb532fedf5acecf9463ea16c958ab506b2cd1654f2d0fb43f0c384dd49e56f6000a57be6e6575c7d05ba899bb1b6abe3e6406d84b6f0137f553f4dffc0f99a47b4267b64713a6f9bc6f0493c5417d9f00a0f271eef0c83a8cfda08b883340f399be00e601a3099f66ad8d081a1e06fb73c9a165ed6614757c1958488a483b027b7beedbd5e129e38ff00b86e866f5fd4dd049421af83786fc7a481ff3aedc45f6dfc592e3f3274d1c76ea5da48669e3e15e768c12cb5a1c78421a8d0861180ba9c327bacf3e7521233cf791fcd6479a1d2db631901ffb3766e948f8e222529bb5ba5843f86d85e32f0551d894a47eb2d5b4417f25a83707e0101766865a72e83b4f747dd4dacb2e2e27dd8d95a4b9b1de0d42db6f5fc7be7900a2bb16ce4507ae42e7f38f6efaf6b8d5596f1ff154bc1679d5880b33cf02b8a8966dba3f928162ea6a04cdf383f9fac919310ebc3e28289c68e2f37672c65bf3d08e38373b08ac632a52a53c7b7e24f9a6e70b2b0fcc499bd0d6a388304aeef68d1cb49676a6e16c25fa5db8d0453285aa8c612d2f870b91e28627d7ccf3a730272dcaa8922344750ace17c878b7f6ae480e4fe33ee516e394f51ccfb6e47321d4226d6d6d12fe2547f5fd5de47c72e5e5bc4780f532364570d257d4fdd2610fd9cc62dd321834f925da853a76e896cb854a3fb2c70de190fc032541bc4c497d9b6661f220616b46723229197593d52c3fa346ba7aa5d408ab80dfb7627c609ee774de72f58df528b531d113d98cc203d4246ab097e612d9f1c04c5da173ae910dec7b0bddc14c4ee056c03209ce1f982e18d72c8d4f48476150d60a276cdc0d0615fd9172baed6b9b483db246173a360a99d6d38796358dd8698fb4e0aa7a5d377b8562211fc6a14a3f4c19500096878048382f54b51af84461695ef0c5a92765a69c0ac19ac9734839a9dec17962bbc3fc7f383792c446e6f9cee002f5b59729c04190e6c8a317c9a698265f1d920039ee406468d0dcaf9b256c01c35095db3e7ff4729370be251146b371b87dc26c96c23358da7fe87e3b30c2bcc16352dedb88e91bf8bdedb733dff65c8ec8c333cb3fecdbe601cfe1c2950d7335fde5efa938145ec62468fbc36acf54d885b95830e44b260d02abbb6a5551cc4b30761b0cc656cd4c4d906b2dfa3dc230c0890069a290f9bea3859dce15fef749f9de370eb4634a04c89ebcb5362ba1285584a99a9bbaa75350b820470a980570bf27ecf121681beb35e91d7157d87aaba98fd3bc577cda1e4789ac2955730b2c08a92cf54a77daa0b7af74fd0264ed58eb9eb2587462ca22fa3732563ba01ca52d6d334a0c23aa40e405ee999c263a5e27ff5c7e24fb416d305483ee7d2ec8613e041f2cee84c71b4a4d02a9e8ee3c4705e64067af9d13f99f0290bb491e70756fadf99a516ac57c2ef4f34c52f93b74b8119add2b6c18011f9182ac50afad4101fa9766289d59fed42707d7bfe2f1ffa8d3cbabf0c909910c69d9de1b3fbd274995832493c18d3e420bc185ef8fc8a4d20c0b554c791dcb3dee9c7e433bea1e8a3e1476cba4b16b19f9f7dfe72f749b1f160dda456eedffe8c13a4d84ed9e2d88f47c2e791eb03558897d52281e619232c2fc115be1f001fe0feaddcdb589ee5a3a9dc037534aab6a867a02e9978cc94b90d745cc66f519f8ff00c5d30c9c4a34f894d85615e5850065c27a83fdf633df5377cd10efbb307671de58194116e4c87526d803972c5133d1aec32a967ed8f7c59457550dd97c263281740347df01e03d5be6f3aa5ebec3024aca5517eff9d82b71f6099992684065ebed1b32fc312a5f4b6b2ecc52e0b4276b2934770ebad3022485a69cf62acb83b23d33c1b6529574123b90635c7a4f318b10819cf82af9b62c4557ecabfd26c036f2589c513c07b0e7844e5871dba8e5227c64afcab2d1ce095463a78ac33b0bbc8cdd6a5562710ecf45ee94350258d494950ce9c613d6e12560699f1bc2d113e3c2b3e469a2185dcfb278193e4da2692dd50b9ff64a776a9430513101fe20f8448001e0d176a7729f8ba9167bbdb8b5b436f18424f1dede8330930d79364d30accd12996ea55bbc44a9252ccae12983e3363093fcb064ac318e54eda563ead00b043635b2877214cadecf2fbe912b9b3f83e8f090baa0a295c059cdcd48e60568867a71bd0d570b657e29a3da867e3f0f88135581242086dd7056702993353805d8480ce84ccef23f130a7da84077de2dab2b7018bc48d5dbb1d8b46cfb7ceffcc43f021267d8f3408db02d68daf21a0c89fb8401095da28e02f06669817d2b81731c11f0dcbd792431e1bd966eea42d37c7fdf6a0e464caab00ef835316c32a2afd4ca010fa96a15b931f6cd5dcea2a9d3528c993bbe13a30c3b85e46c2c3ee77110f5be70888bd16fd5129c2be828d83bbf768bf08cb54cd4ea9706548ee2f349248fa1bde65afcfc4f4332c1bfba92c4eb842ba16847dda08b253ec8f10461b0ebba8256eaf26c68d19f991fea64e2f49bb2fefe18496a8735c449b7902c510280754ac5a3358aebd63f52ddaeb88fec7460b59c60ced8765dd4e450f85c8728c92a3a5999575ed10772d15d64e3fb306ec6d5d01253598420e3e9de72f94230e2fa81f8e994bcdf5c3773200dc7aa41dc2efbfa835ae94a275285a930ee0727bcf7c53b68990dbccf43471da8d844c5fa2adcc3eee1fedacee7e861e2ac80174e2621ff8258884b136b628462e753344ccce50ab5d5bf6da5dde3f42e05a4f26fb3b8a0ec9597f164ad618d515eab4c20eba8904e81d035076fd5d737a4b5b5a614e90d0f5bfb3b792f996f2913880022ea9378af0bbb669b6b1613e5a38d46b9453633ff280a45c9c962d1321ed96d40d1f4f9b18f22cd99e39dba183ef4e4e57d39a660b7c513ada171f26d44634286b56729a436761de94f65900e5b859275e3060158a5780da328b60dd4eb82b7bcb5daaef5dad5b3cebcd6bc3d7fe82166214e57f4dd3218b3df851569a28d3b3183b532ab7f6516ad29706925665e24c3993c4305f8c902fe01d903e840661a7d4e1be5b23619542cf8d68c45beb09cc2d2679bc61df50948772850401057ab9756e26ac56e0a50ff8056ef645fab92466f24ce0df6536f9b0ea8e60e2a9f908670bd06437a988857ce2edeb8d2c1c76e11b8660962c3c1e2adcec01a1b21358500132f49aa1c0a23be510591dbc35cda33fa4ce2b4c4fd5d68c8e4b68f76efc35280e447a23435cbae359f10199ffa530f528d7582ef07d0361f75e2e06aa46b617dc65bbd8cbfaaa405f0e5609d87d238735d74a132b5611c11255a91206116a1847e5926560322d1e1a70236ac7e723f0cc5915233b74357ccc121106483e4652f66a15f6477ecfd871531cab51da07c596868266b3b45f0072f11b542d28579259d11de7f26e7d252d1506f693f44b797b54d110710d6fe464b6030ff2f53a8b279ff1fa215fd3245ab5982514a96294fcc0f824d569872a054b71ea187b13259b818f7407ab220b7e9d415525c984bbc25af412767db9edbd7b70da8bbe23ae59748083d82b9cb1fb17c9a226f6bb6ffa577d1f52f659632c3ecf5101019cf4ea01292226acb415ce6ea5b71e6938c037d79ef93a8e33d3b86edcb65b0d60b9f911f55c7f667b60d472aa89600b9446e7d1246f905df34132f146d60b07275b112593017ce20772ff6d8d7e7e9a64cd573a6536c1fcc95b323c5eba3ed507728ce44c41fdd9ae101e4f0160559f11e0b801e767302295efff469951d3bc317960daeee44448abb80058a9747c8b59b8a7e3299dc225fade027cce32725f52f569d8012c4c5cdbdba73bb58625540a1f0b747313855f57247bf5dd6bd82de5b5bfb4b6498ea8018dbd5bb05337510ed855fa0e20a3e7c9b24902a3a2fcf9aa4317e5bb8a55450b21b1196779a6b9e59c6aba53d117609e22b5fd1d435c9b64e21c5038232f4afbc8597239887567f4e8d4ca675f1bd7974376b0179fbf867509246e80267eb77121bf469bf82c3d28e619903d327ba94368627524bde2b10dc73b8272e512cb43039a50ad7ca3ae46cb293c71e2d7536e95be6764fc7bb4c27211d15ea9937ce0234c33d55e606ecb2f4ae5133dbf013ba56f4c56aba70bb7ed4574dab261db62f5fd554f72cef6446651aaed1a3a560abe0eaa6baf86e6a4a09d394989d0f043144e26e6961995501e4e7efb3da181d9a7edb942fdc46ca60089216aba915538c97797a02e46dff27c3c421a6afeeda8737ed8b0dd7c8fe467aa72e2018e210cf7c850f9379747732597e9f62d97c42a70d8b528596fe0440c3c5cb47530ea84f8d74e2231edbf3061a215740e8cb6750113ca5d5203898c8f69633f6f0b3ee316e0b7053c69444137641981f7a438a42f9d2f2127b750eb825b9a14155e185a3f802b184ab39d21071eb8a1c5db6c2f70426aa2ae7e40a230cd525f988f8c693c04641f8365b474f949afcb9838c650999228ea316bc128c540404193a33b610f181ad6b6b73b529ebf6ae46a10541c94e6442c5b79f551558ce4ac6afc42c80a2b9b29e94aebb4fcdb03700a859a4b7651ade1256b2108dc039bc0f9174f92f8f7ee1a979dd64d5f0170889adc2744371011e874eb785953562b265fb3a9a6a9cc284d2d69d6488c4bd310a52688ff0f7396836b96e93cdcfd9916428a729fd1ab8d3b4eae79005080af6f3ad5880effeeb5bafa5ed375ef16595f03b68d43335cc41e95a41262e18a7883e357d5f02d19845a02361387591c1fa3d73caf5a564804a9c7e09cec563caf6b2b76fc3a0f3c9d6f75e618803d5857dcd010d73488e37cf21715722876fb35b27b6f27cfdfec1b04df09dbbd9868cad64a4faae80fe02d21176f94a841557d72bc3ce7a3c3853cd7b968c4028e21314ff6365458b7e594c0cf09c0c17b92fec783bd6ad886729098a59e0c5ec6ce39ad038766bd98aa270b4194365052c117d87ffa52f502454d9ac1a354c492d4db23e9763e1c418d5f83b66a30dfabfe434561b5bd68b45437d7d3130d77e5c6945ce0956a9d4e36592c9d01e7078b5bf9d6b7c4641a8d8bee8b00ba55798971eb6901900d5286978ee400da514fb23230c35df15f01c20b0ca19a2588790d536d79110464ccb87d12bcf149a9391e42124c3b9b6620320c705e18a825a929b3f1259b16fbf5125e5ece5c3516792353cc65688686d8485340cef5a1a10192da3aa4beb9523db097f2586d234b1221b2eac17b82f4d9853e0155d8675b1603db6993d0d5972623ef9d878b5789cb2147c2f72b6265c49b2187433e10acf18ecdf296560f26a6dceb9113fe591206a87699d1e5cad7ff4fc094587703bcfc919203aa7cba5c620d1c1c0451fcf6", 0x1000}, {&(0x7f0000002880)="b846343e92d30386b9bafdacbc856c8faaae41a37dc793507d2122bfc80952e9369fe27be1e0eefb177f98be09c30b271cf2ed07575c117ca58528d707b57afafa864628d44562977f02d07934a5a6dd588f76079708cdea59390a706d15c5e064129f9a0373404f017e52db868637b75855d6ae3b38cbc047bf0d91a87629d9232cfa2425fbe3c718592d30aa068f7cb2d01cf5cab9340c72d5730703838c0a5d1dfb93aa7f5635f2f58e81aba52f4155c1fe2bdc4b218ae8c9367554b153b3469509cd0fa762c05e136da3d7c723792393070296eea717139f58b03823ecc3806d067edf0693f8ef711dd917ab6f724de3218fb2e6df7de2abc80cab", 0xfd}, {&(0x7f0000001580)="05c0e7645e1fe74af4d56c15ff84", 0xe}, {&(0x7f0000002980)="ae7c899749b8974688c4bd6d37186a572e6cab7b043923e923bf2e1d8ed78b963a274938798a15075913cf0f5c8522ff9bed3ffc59a15e1666297d9b9a89561de4fc844516d2c11b366d0058df", 0x4d}, {&(0x7f0000002a00)="b944346f4c5c05c12c4d18e752db5a3d45a7093752aa997b9e7f39e311e2318e101a", 0x22}], 0x6}}, {{&(0x7f0000002ac0)=@ax25={{0x3, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, 0x3}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @bcast, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @null, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x80, &(0x7f0000004c40)=[{&(0x7f0000002b40)="c541ad0dfafb8111d6f9836f225f6063fd69f1e43e38bacae7428e915d654b0f5792e800715b1e7d6545d8e2ac05c22105c18fbb48831cfb1af0df8b1a8ddade42e8e50941fab2cafd27683e2658bb8f9e86505c9569ec395d5934c86616693825e0d2ba132322afdabba2d6957f8a810f85d17f2cf5e121cbd7ac7811e24d326b40da849871affc050a01ae3d935258efcb37e77cd235c504705d7c04fe48883a1e6e7f5ccfcba0ef88cd7c5649a10a76bd6268631f711f98429c52228e57489c8b7c19e22a85c46f4d98635dc2fc039dda27e4ec15213a3c11fa20c088e9254ec218145d88fdee39fe237b177197da456940741f8118862ce29b884d914dd84312757b91682425399150b7175983c4761e7bb87d681046f13b0b220926d3a0b2fee844bfc5bff2823f986540999d17cf9f51f5921ad148568871d206d100a6e81d1bbdebf28aac77ccc0fb80e4470feab4be5910457d3ed45b4463d2d1d812c5907bdfdd400e1c7ab31b32f343618ac20da9083067d576622051aca3a526ed426d983e2304bd059aef6bb47aa8d0f5497ee03335d1949bbf8577072c1d99e550de3d54c0937da43851547e0cb7e528051cca368b08ce1caff449b4e0b56989546a93cf7d63a386d4e5f119dbb9d810e0e31441d750629e2fc67b040fd9c7362786fde71209a4f9c5d24b2169f802733a561b2ce36ce58311399a11ba14cb38385cd069f2bb1ca1dc4ac6970d92a7209a5f48e27bea47c80f5c4b95ec87a5e0c9384bc8d065baeca12f80b22b40787d3a2e9d677ea2d6a1231050b29f086261d11be8cb589d4db95d99ac2eda7d7d921894364f3d6b4fc36cb8dc827777700c5098c1b9549256543758ca67c33334d67cb674ba18980af55e094578983e52b91caa0e1b644ee53abb3a03fdb166c72caed229e0c23fffd7f5797a8542558712de2f88212ee89c92c328c49e60e8ad386ba13bd2bdadccdafe6d1abb9475ef0b09d8d7dd59aeb7a8d851cbde336b37780e26eabfc55f856f5e815d02fb29ec4451bb68adb2864c67a83074b9986131b7025e6d79b948cfa96a224f5020b2803c92a8d578fcae0cd40bdeb5f15a5c1f42f69bc4348863dab4e4799de82665db44ac17782b0d01aeb615a8c0a857e88a43baf11c37def2a0f6fd9b4f413b1465c63f5342faf07b9010a0478b672436e3a8cb118f074c70247a9cf922f9bf2855c1a48d0fc8b762918954bc6ff4dbfb3be72acb513f2165d9478f437ad48d96d4e6d464fb347fd78b8c35f66e8511355522596ea0a03636963bc22d0c0acfb10cb04aca9014d34dec77a4b675fb6a896472c69c889866ab2771ee078b976f39fa72c8e6801912cbc9478e19a00dfef6ffb119b3e007442f241ac929fe6f835a5879e6a7650dc382641f5fc935d8abcc1f35c231ef9d7f47220ced2038a1d6324682953fb22e0d36ed07fbbea15b0706da86595cdf6180cacabcc9549296a6c3e673ac896a42982ce9ae9ad59278a2ff75bc27c058507b6f9fde7d91adcf821f1eb1c9b8d82f4083eb65c949bcb83a3e88a01c5b7f2567d5ffa2493a58467cef6f1b049c7a81c2681200c56290308c6748ef20ed708ab2fe2aa1e59f515b7b81db041f759421a5dc527a7710f6a61405140e1572cb79d65679ae9c85a90d8e7497263d4239f93e83f0f4d56e5be7874d4425448119cd802310582f8139ec72da95b50b8856dd2bbd005fc9b86f4ecaa30f76293da198b11cc12850d392384b50b01c5c28ce45552969e054cc27afd64a86074c0f88274dc35a5a98d94f772e32dffd654b531d861bdae534b2be9989846ab223d11170dbda11eb74157935d0f611e35e303a390f3872a30e9433c601dd3bf59a974930a11d9c472ff8d88da28f43c7778f6e0bd6c8d6480ff14a4530b3d6201037329177102c55881899dd6bba7b1a49f2d37bd374a90a80fe2bb2a29b3166b7c9d003e59d1df779624bb79567abf50699187d8b61b54049a548a94406c496f53bad731445d34f15c65132bb7acc5461576dbcf5676619f627edcd44711c6238cd49856a63fd8cedf8681b0fdc0ee9b25349d02f11ac64149f7614e7adc2c0805cc77743040590a2448cfce59e8ae4db247120703da9f71fbe58a46da1720a8afdc8057bec652b0d61d7f661e2fbd1d1dc245c74393afe100ed5b90092a5a59aeee4bac9ad8cc8edbf492ed284f63399a3ea233ca5229f051422782cd0a72b973f377e6834523bcc0c04b7205957219cffa50db2063cfb1164d0835ac1c506f8672ded52f8d4c4684793217777356c5fc3653fc7651728142973a0e34541d477285354459e30735f1395d276880fdef0220b692fce4bb7cc0cdaeeb60a23d3b65fe994ec2b3f32d1f675cac862b88e4fce6aeef6ffaa9c99d27f8c70431ae8b0e17dd492f409af544e6d6abcb48d20feb34e0cee7d63c2ee7d28f48258cc2fd622defcce5ab2920466fbf196c3b2e135157d6c54957e7ca098eaa102faad9f56a79d4776eaeb467dc8cce71805c7b04cc4f607886be03b9a69495e44a6083f52eaaaa47f859269804afa48949647b02df1cb0f77c90d55805c0e14d1e1fa20703a3c9c40fecd7373974d6ec8dded035365848da8d114a708f4bcda02a761a4302526f2d00c60d5d460dcfeb639bf2a514c84b4082cde087627e11ca5e229593d7033411ad9518c3d8e5f4496f5299f05b161638cb8413e0793da96afb17da9753952ad86cb167bafa5997d7dfad19b62246ac05cc3734f241c3ca67e9e83c8c5815fe2fe235532b532afea46ec5e64da845c51493bff8aae80011006ee1a44e9cfb634aa0c74dd253935bd5c2d4ed3c9eea06a5e839afc384c0f3ff85a5aa81de38892b127e59443f2caa51bce4f0ff7c46393afdd03e16d6b9511583468007d964a616b86f7cd340384593b528fba939cbadab62ce9a708f65ee2f65656c80cf5680f137c59af990d59f4b35cc6d644e25aadd9e9f5ec32cc3bba0f3be777011c6a00790efd2108dfea1ebdfd79328055819b2c0a0b71e3aa1add915bdf5a1835064d6195f4cbc8bf55b3a09c15c3fd279470e63c7956a160068b143e20c0df3d30ca97dff40e4b0c4afaf007d31aa81b4704b4c3c627e08029f43e4200ca029011bcb93087db96b73eb31db40ae38b2bc12747164b6a5c28d2933088c1d58d2ed8a2ef79af5e9e4352779915cc0b67f538e603f5c341e90028ecc880000432b3828c959eb56cf2ad17d7a2b0e8a97688d17e925cc37e66c27e3be936b6fff07499f587b88c5830dbd552c6e55567b3cca338dece48e64b5cf706b2088265dd7199893468bfed0d04e8f4a6a9388cdd8a61bca491f8fa4884af5bef60fb1d7de22ad197c53072b5ffb354c0d7ec343cf724f36b5a4a978a513e2ec4c53ccc1d2af90120be748bbbdef2ae73d90b0d4be4447d176fea7527d7d427959bbc86fd39c4d56eb4b0eceeeecfcf690142742663cad99bab86fc0207e64ca152ab043fcf0d171114999b88bc7fdf2dfd6d511687441ae99739fe0278d4e496470d4754bf6cdb0098a289f9bb6d69885a27c686ef91655b31b8b7f278da022917bf4244b9a3bfb2197073e6837da5e69a1b63289c74df5008edda882f5396762679ae2ad66acfa1e88e78b016adc527479a91834dc5e23187433ad931ecdb40e02a3e376a004d4453ac6e20811a543300db4c547edbf70dce65f73a1d43e04f0051556f651c12e48a263bed1329ca293e6ff3e1e075d9ae9ba69ddd4a100b8828d769ca86598f7963277e9a0fab7a815380cf68d805af2d0a657d811ac1e905caa11802b4f458fa711e848380cc87835b71016858e79dbf63a0e2b92aa9de0b50794391916344e798cd8fdced25a4491a842c59c06b39221c867d46a29a103b0c5786871dd5a6afde6302bd582c7480ab0a0a6fe92f52187aef44e9004781a8a91a0603b6b929444f4003c33c72ca0afc31685d8cbe5782794150f31077bbe8e6651ef43a592d0fd7e48491c6e3714b800905d9ecfdb2e5ed52eaa183a9de4ee91c27c05cf0b55ce0e6e17e2ca985f10dec91346f5103420895966e486de3d434040effd70a7195c33b58a552f5e59138aac8dd40e4ae6ea7088cfe6c4f1201e03d5f677ad6fd913bf3d679b39dd6f1dd8f8b356dbf385ec24a73db92155d8204b95e4102613918ecf87381690e67923d567ea2637099eaf26b660832dcbbe77f78eee3922a7e62efd655e16c7e69b6f784b53bb585cf9e323058e11a1cea6a86e6a25753c28cf897a7415b39510de94719a26bcc9aec159a538bda927fc1103d31084433be9e06c867de32b8d0b083eb1e416ace9054d4cb4b430baa88141db50071386ba4d06b1c15ca0d72efa5b955387ca6395543c549d5e7fc65aa79b958c85dc445c7fe4b88764ca60eed323876afa31652c14be71497d85a582fd29db150304bd72f041db37b7c1aebee537ef0982cab73b65a79829dc387f9e96b0b0be6d59e48108696fd20b9a3ac3277599c72c1ad2d5d0784d575cc08668eddb71c1cc6f636ba048b0b306af4f6e7495d5e500ddc1cf96f087de43390c44a5d68e392c6e4be765523102e597a32fd05f957725acf596bd819098cb3a0f27807928e614f3c9444fe32c6b0cb678c949e3eea564f7a5c03ef965e14295b1c2256d88a5f1b565f24945e341ed70ca619031d823e99612bd17d02a7aa2008dc97db01fd2eafd3ce1277eda25b2730314ed22fa1e25a32a4a5c6ecf1995b6ca7832ab110dbbf997bdf0421284b933f28da2b24c3633846f498e0783bcc604ced9096dc537db35ad07b069a28185b14cd2339cfce19aebc0a2eb27d5e036f8c92a6d639e30e8c6705a1c5325e062f8a6a6a34ec1510bfc19cfbf673e9e8c23d4d8b806076c4321d9de3b9e86ab7f3f9b1eb80eba3ae50364839fd0c21a19eb361dabb7d616c50e4e78e8f3343d5898685aadb9613ac6f07c86de5fc2c9d2dc5c944fee637b7dad4a557fd140de006663dc86ae5221a97bcfbcca3c17d3a8c5d7ce916a2f7499851dc951bdc8fd195936a84b4932e09017ec7f80e87c99b2709e86101829671222b8baa346cd8fd8c8c87464dd386b26a64589db0a91efa3c424d1bb859164339adf4309e5d9433f494beb56c71cab3468b3468f59f75b42525bfeaea6856cca86c05929fa8df19ff191d9d1381fa95e781ea2450d1e66b24059de240efcf40521a60da9ace922811e17b375f2b725fb5c5bc48660f0845039435e4238db573d505899a467eea368ed02b80c4f60f19db85dee8cace8043114c288489313cd4f928664c56b1889dbc89a1b458ab158e18c39a410712d1075d836ff0b6e67ce84bb8174f04e21de640daf7409e9b58f9640732addcd289dae96cf51b808701e810cd77ff58aef1e82e8244c54775f30425b54b4b9e99c0c2615addc8ed9726f5eec0f51c1b1eb622155907ee5b59f4f0407c9764c33ef98c9d7e058ed8db35d5effea957d0775ae961c9d6eb59a3b066be95b0e3c7fc72be8e11b6148df7d1e50aa5b0c8c62abe4cc0cc3fc2076da7f02dd33e82944653ff22dcb1f99f11b0aa68b5936112f22c0e9c55547011e2d12972f6c027c68b67ed95b865a6e8700731f930a5c16a8f5b9b852b6f6008e7f0edbac99d6912824b4b837b61c15c1773c273ab00e583f3e6db57df6f6153584beb91045618c9b5b5f7294e3078ee3cbaa2f61d65607466190091c7eea3ddccf73caae7b30ec3eecbdf238d6678a0145f8b1702ebeb9547897dd39a5875062435521f", 0x1000}, {&(0x7f0000003b40)="0c7950909b905d0043a8e243e80d43da7fe16f4a48e705b95e004496fcb72eda1948bbe4e8de9e05d49310cfc5e6d39478d11e00f3da467074faf5cc92eacb4d184db1e647deb3ed8e51ec48b89a2bccc057cd0851f9966aa8bc01d264d29ebe5090c5e556a82e40449ddeca1bb87e72ee6d43df8ca922fecc25c41a0fc152440b30ed6950e9710dc928250ad766265e855bbf5c82536dd118b2244dbd2d999b61e04381c1441559c95fb4985abf5c3c12f29b4b64a019754357ad5b435dd050b66a5e0be0f4c1af5123989d05f2def0e75cdec6d9a58590a3609c6f68b266cc6f7cab1c94c7ab1130923fcc413381f98dad245ab04f0d2a6eb02e3a10f6eab6b9158a9bc9fb1fe1a743f92f7b86a55e2694160c1a3d45b5ac5937fa07834f4aed50e8cdceb8d7bca0dae88f4e140632bd372efbbfe01f3ca12d8d75d6f793b06602ab076ce9f6c7f776e3069a0ae923fb0a35df698ca4fa62815512fd03e5c96580192f632ec18302ceb1ef935aefbadc07b2db3f5d978a9a398e1f46b31d41b0e8f9e15d9238fada02fbb318b81823bb661a4e3327d5cbb0798ee3a0874aee5af8194d6e3868fbc9e9982ff36df65fc51f2d044d00061dc6714fe16c9841f18365f2bd271599b886f3011610d7bfe243e378fa613464d391224d0a93c51aa57c4f49747e3e4b6e01aa9295a00d74d15bca1730470328b4f92180f996df9d947cd8f8a7d612116a42e273a1e511db6ea9a0f0e27a385d7239f22e8a33d19e6f14dc8c405a4ab533f167fb2d176ce3c3b006507a95bc5bb588971792760122c921891652892558c05100b9a477c2e229f7f07f7fa2c55ffdeb2cc8035fa180f59c4b9ad170c68ce7a245c43e1f40de65aad5cb621668e71f834664ada7c234090298ec9bbadd636b1eaa08540519479513cfe8edbca402acf5d0ce8d9de30531706c4d612de615631c9dc1467ecb530a4528006a4705a310b7cbbcfd02912c46ef8b0583ac7c414abba53b6b9aea0a305fc7457f67491466de4a0d10d7631bcb13304dc9e4d2412efbb72d2471ba249f003baccbc8ec10642125f850c239a9d5b19f4bd9745d5df214adb9dab9f31caf8717245d48ef8754c1ef3db7ffb56291d907abd1d63be8ae95d28f347c11c286cbf2a265e5e0da59948dd764e07e38533f5c22e54141ce8c47c86459c6f8fbaf7745e3c7a1974fc7707f3bc99a62789c3f818b497bc1a70640e45b44890500a78ab358b50fb57c3940da3fccc16e8bcbb593a2991aee2587fa6cd6b2c2adf4f2403094ab7bd9190498ab20df4b99c9ae97bed755d6b26cf922d8d669988707013ba64cb6edd1e078e572b0bf4a6494b98b5f5763990888a5df69ba4f57f14c084ea26644e04406db8449c4811eb72cbb1959a8a3119f44ee68d9fd25c9ef86d7312d7f80f1ba9ef2a88a9bcdabbba87e971a891a0430e7da4dba55ecbdb8996ef5dea399d97b7a2463638f2672fbe4a01579d54b73e1a80e47c3054d8ebe98a57552020c063b0f79d1e2dc22fa97b73fd5156721a4314fdb0326237771554f941e578d6ae869f5c7adc8c2fa39648d778870edb9d9b20192a9e32020db75d0213c30630682d834e0f86f6f8f152775148316f3b3ffc4e96ea03c075738a5313bd1050d375575a3ad1f11ff4cb4e477157b57821dd0d3996a05514f97a12ec3c19e163e791a35af5826ebdb360b187da44dd678bd7d7ab883bdaab0cfff28c93f8e56c16dcc81270cec441761118cfa4ea13a3e202144af24868c9dca9b654c3f8b01466447144b39be37669b09cf20f7437e8eac67061ebb8f6ad11999fec5eea69885d020a7419fa509b7577ee9ff89f9fa6250151bc535ca9fce29117d2c43675af93c958747865854d4ddb1aa89acd6c31be7df486a0a30fe074ddc1e36b87b81e12f0eb5957001fc76e5b11a2a00336a3002c7465b097567a27bed5613148eacce35a96106c281e69a1fd63d07a929e8013a416a87cab388a4eca1d8ae4107257cd894da1d7dfc78a0e7d571f87198f4ea4f782302eb76836bc645af93ef5b5f1f24b5209a0aea401be9f91acb02432960b93bc13bef3d812f643c0bbf0757a58b8772fab3f95efc76723e8af47ed331f0dc5cf1092279c2f7d90f067f3b7f35e5b9f93a4848cfa66ce9636513e4fe62561c17b30d6d1295a0fe2211d15c9d90357c7e487e032d3f291b7d2eb7504dfefc1ed9a94d200860590f48caf24e2c603e42941cf74a7f8e21ece13d39459c10fd0adbda76b060567a9dcc3881bbd955430da17e3a1295ccccb209859dced2059ce55ff58fe22a56e8349e4a8920dfd7030a7d426bbf6d048d1576d2f6298e64f84116516f4e86873429de6fe37dfb2bf5087650e359ad8faa9e83581883566e472109e3b621a41fef123c240517c9255ed3b86eebafb3387da42ad2261c5f4818f9d6b6b344ed0a61f75eca3b0733a62fe29270a2345fac11458cb120421e4a588b4c5b6854366553ae1770c6c683e0684552ff9f2834780fabbd871cfb920253b68d93a54e9a1f3d0e182627b1fa3cdc7052c60c3459edcbac179fb51e32164db3f637cb3badde0f2844466d46a70f6bc89f01b5396420c26b9c431894886a805f8744407dd71d58bc522d7dc446e375451f271435e8c6f1846ded2fc4396802ab13c03aca7c66e565b1ce74436757d6bc8da09534ece2ad661d9ed3831a412719264378355e3b2e9f93a3155e8487a08ec95ed8c8a35a64e6d3681bba401713d550e15b1457b4dd87bdba109304379e55d69f53b81d1a05a12d67253981fa27261a1478601656b46bfa3ee6b5c82d7ec15add79352a882a3835667464f035e1714c193a55bc0399b21e3af228689a23ec656ad964ccd74d291f10e25eba6e30e16954eb15ab9f3e555a5176785ab22608d7279d8f8eb6083728e3296adb5bf518328eb649b6885208b7d6a70cc3be9dc0ada931293823514db239c5407797ebc8b9a8232efc5bf9d1721b7e97c96e237a9acf8d10234307bc2266127b279c008cf92d9526ca89c514953e4acd556fe480f391c36709a5826393681fc1416376af65dac19e9545f2f63010ec00e35984bc351d8df8c37f280fddcce8b26e82917c683f0f381f1df8311e5523f5108424b5538af3f1e02466e60d5a89e398a11dfe4b66817e0e064ea4ebb68805118505a56885d3e565a46c2b3df1677419c16f9513ca2bffbc5fb208a719e37090e63d58c23072e8e567a21c0b36be4997b0bc2dcf1c8b7d83bcea8a4e2527ab841841e94f54039f4e29446827806dd6c072abfcbf8b6b8b9aefae670164eb5c110b3d8788d5c215f6c7cedeb9d819c5571c49e91c15fd678f8bd268be78ff4921dfdd3dc759d158a70c07b7598e17119a1d25b00e401d272f61511fe24a170cb7040d52520561ee149635ddb44b5c7de3a222dbb7becd714619cdc6aa01aec7d1ad2b15b01b1425be57b18e3949a4756a63b80b00769a64151c3c7b3d5a912e95e3c7b0a37d75f7ff11a2651f4d195d5e122f38758d547057c68918b5819ef03b6f5daa9fe09a6e60bc6c6c42bf39a246389e2be8e1bb32219343ffce534fecfbba4f38f3eb92ce5a21458671c3d32387a3bb8d391e45ca9cc2ef5fd71cc9c380350592cc23d4a998885d17f2745fa9a5ac3e5bfdc8b51af502953fa70e3536043f3405da38c09614c527e3cd76c8db91f37d8aa1c32a7f198f7aec19ac0082607b09af54f579ca3fdcb4f279a0d7b9b751c14791b36e7df8e6616109d00671c3c026fdd8acd0acde38987a020cb4f368ad1c40e0084f1776669fedb35b58203b8162cf84e8e80594976780ff6f42255ebc75e5bed44a1081b82923aab8e16ee38dde53db8e86bea81dd85fe14fd6b9cb9570c1de39a34080c52538a4691a6fcc439322ca38f55e15d92a1d80d543e053b11ec384607f30b452b39c7d2fbf1dfbcbf5d44975d97eb14aa321ccb605be6e8d36b8780324b1ec525363db94b8e3a7ac580f172d0f25ee03a9fcba60ff62649e3351f84ea1e3afe62c49ce7a79702eaa51a7e1d1ad1bbe622dd3300e834ff773d447d005387df5c7cdcffcb1e659c2ce4b40ba14ab10e6bcac8522d7f597321ca9d9ccdf73fd862a670318a04b5bd1f83a109b9552bca63c4f89e277a6c7e36ebde58844376a9c8c9f9adeed69c5ffa534a515a31e45de444558c5cd21af3d856b7fe582507891670025f9feb863053cfa3d3e8f2cf11d887082b2c1ca7b8b093eec93f9b5b61ffa3cbba9f95c8dbdd9e8c2c73f27b8d7b5a2d98301e6fe12ef1e4be197aa3c77e3a0d51f2f9c148e7fc6cfde98863e8765e1ede621a42a81b4d6f64be3daef9beec5e17b5ee49ba1363eda35edfa23c38fb872b1f5f117f6d7e4cd9d6c9d67ec781b5e7e58513ad1c148d23193bc029f1c536f09081dc0a9cdd639899c03cfaf0261fb267ffb7f0946acc83362d4929e3b4d3f92d0d56efc7d5c845effdf47d2d61b83a1ec9a76cc38af75fca0890b86e34159777749f107105438d851af48be3c7cf69718adab071774971e48da4c30c46f6d10a7c9fab87d2fd668402338d458315f05c64f822b4634bf745f4d9055465979c5d0b870b5c6838cf1ad0c25d77fea7952b9328e3bb206169864a594eeb7743ec75dedc43bda19c8cb16569e1e76a25635db22227f75bfa333ca9d3ed4de649f446155fbd1046584a428a907f6b0898ca5c79088b75f08b184d2a1820c734da6305117b03111f81c13d92d7be9e8c75cdccb64be5a89f9af0693cab34017969c33c139a5ecf084cd32b1c3705453b9d09ec925198b9ea21fae621bb51a52232eb12c3d690c40ff24cb5714c0e4f29e28d34bb37d1b558d74b16e25ce4b7cd2d6e4a14fff140089a8c49e8339f2b32c10d4f0e7789c59b8350a866c6eaaec0fac051b67a51fdb5f449c56c6d013fe936c1ff6008bc904bdeaeb13500af481de5336fb5d829fd420009fe75cd3babc49711a102c8968f0d71f21436ab3612608ccf1f98116fdf8978f5ad0cf42208d51532c3023ec6a6f7f2f6cea5c35e364cf6823578b5fa7ebf4a42584422ea5d4035d9efdc45a37cb41a314d019c79066333b4e70421c92f64c9cab3a88c17c492ef6a08ddfd58919d4bf5c3b9105308bc24b5ec2ca76ad78d4db46b0cf4297e1ecb5cbd0d6c724b2c06365b9ef4bd636409ff243f3a6cd6195ed038952b6a3df339f8c96c7df9f4b1b3512c67bd7509c644f1ec562a954ff232ae04fd5124666db512f35dc21c05dd2bb3c80a0235545223618f1b09045729241d20d561b710be7352c009a70eccca392a770e8650c613d263cf464fc0925891ce9ca5b23e010047f3fd1722aba4e491da128f3e2b6fc16c0e86401349abd28b071d18b28efde1da0e49ea5882e718fb5d8351cff0690fb61faf52bdc699a46e86f8f22318e14c3d42e73d9b6a6dcaa680373159775ff4ec92e566d7a21bb57335120f6f1467ae085f480fe7dce980ce40050ce7678f188f6548d521aafa2e2a0d6b2d9b07bd3e2f82780e54aeb6c1b08a5e4efa321fb80311620cba7cb8937648b0fc0e6fb5fc2e56683ccab06d51319bfa50b5f2af18664f0a346f8f198682e0e404164c017f9401b8283bd334dae2abeab021629dc020f1368dac811452a056c00f1f5760f16c1ff3e0a3b2fe79241a4edc3706e943998626a69a6b1ebf06ee9bc31cc57ab8a1071f071805296993b8b0f98a79fb3e6e8218fd0862a43f70dbb2562e595e30ceab1d0dc9d8d52f33236dd3f3515fe8a22bb4b44c4", 0x1000}, {&(0x7f0000004b40)="2c0c9e0630fd99fd1a58fa80f5e0278431fcc09916b26c67fad08bf5788bc6dd49506046cf53be7068d95ae0d66af9da7976bbd358184f47d17f7597fb76662867b5cf92ef04ca44b4277779bc8a2ed24e8a32e7bc144a3c054fb2e08c35e011418ce712957825591f2fdb7b03730d2d4b34a5d7514d2e9b1055a99f5ea15272be54486688a959e826f2d078cf11c657c46a9f4571f083635803e6f930350729f5db8ded99f71592cedfea2ffe7bd1a990be5b4bc82b", 0xb6}, {&(0x7f0000004c00)="04f2e4d89dc5d595ca", 0x9}], 0x4, &(0x7f0000004c80)=[{0x18, 0x3a, 0xff, '4d'}, {0xd8, 0x1, 0x7, "7f75c17a8a6021df0d7b04151dfdb091e4fdfe348e5b49b82ab81925dc616122101f93c5408df9b141fc34b62255bc3091061f5d9df40312923abf3a0ebdf7891b69436efb57e37a27b7eca7cc42b6afc7d5e37e724342fdcc6a7f59cddb8e7b9393a94b4a02e4c23635f02b7024fdc56c061c009dd2cf9880002c3ea95254e357d01641deac6475d0d81f6a7828698669e04914b4a27e8894c6ee87769c569dbecb407e6c2b971dcc2db48f9153276df6ae37720f22bedf79314f3cb444ea2772f4662e77"}, {0xf8, 0x0, 0x492, "9d510fced9ca310e957846a8efaa91fa88b33534a07f424728ed9c158cd09debaeb0de943bd556ce58d707256975223ba15afb2f4375c9549963fc162b5892cd132e9f7f258c774abb108a187df8c5c2d70e036a348051c0c741791863e79d900aa26138b204fd68467b9596208cfc6e1b8175091acfc15bbd1c4a312a803d4920b5a4ce7d94fe832d0d9f0d369cc9e0f2bee39ea4d429d8e0d8543029aa791ccd86c6e0298a38f9c1c058ab77b5e961522332289fa402cc327d1a84392a47340bdc02130178c316e238d2eff66ea1f44c46299a75fb72d246052ec8e25773c0969844b639"}, {0xe8, 0x107, 0x40, "1f16ec42a112c3a9bde576b42e0174564442f0615eff640b81d8cb3db87566c5ae939cb5ec60a934ee9875846aad0507b6ff6ada77d18f76c3fef2be2b2e3f3d206e33dca15eff2740fef9f5e2443401f91f65cf88e7b9d8fdbbfffd2489c8d43c247b0d13266f604ede6902acf74193809fc1c680487c77754b7e0b47c03a55df382b2e566b4e0a7a41c4c06a96ef3a3c84a96dae502a16b8c42006c445bdbfe12f2f2f9e730cfe3123bd0ae62eaddef1f371faed8c5490fafe31918acc893b614c076d233b79f5f6777a0134e57a687180cf1c"}, {0xc8, 0x0, 0xa9, "629e4e4bfe6be5f2ebcecedf9e32ac1d68ca30c59cdeb7f83e3cc55efca371d207543fe48fb91d02b9e55d3e705903eebba3f01fb4be113a92c3d5fc8fc9081259456d86219dc5d4d03d2bec51f4a73fde460ec3483e3475f56f22760e12da086bd047346b9571949dbd2a538f46e59925ed74937e569b80d730777db23de00ab728672796a81f492d8b548794e82e0a2619e40afe453e22bbe7a7f7cd1394a77ff4c9b53f4109c7716a138ad74fa9326eea3473"}, {0x50, 0x107, 0x8, "e3a5374a356bc71f3703ea8e13cff079999159ec5f6155bba7e92f1c884aa1b5d0a805bce15c27f24bad53950a1361182f1bd62c9c99fe0b6b"}, {0x18, 0x101, 0x1, "fc"}, {0xc0, 0x111, 0x10001, "807ad417431dc8926a691ff96ddb153bfb8d1027adce69710790d81791f588a61d8d9f8e1b200d19f116c3793d09b625426440dfd619bf58c1dd6d10de5a35ba103d1d354880889961dcb708101be2bf959c8b2570a83843b106bbfa9eea5865869b9e0414fe6eaa182001b0bd5f58b895836d450461d520685f2a9516ed31e03f5561fc6b5789f5a88454af631fc54d5d94cfd5ad81c0eba6e856a97f1c7b38c199ae35f4348fb61298"}, {0xa0, 0x108, 0x8, "596750145f844d04230b958e7e18a631699b3b5007f0dbe74a13cd140261669611da6e68e216497dfbf14c4eac123c865ba323a73bc824c9e0881ea8d96971b664c8c85576b996fc374e4e029deedd3e8187e849ef08142d76722ba6ef3d39b647724d67057667511c2be6fc6aa96b011a1fc957fd5b20d315c3871372a7c901da238d31556b0cbaf1b80beb0bbdcc"}], 0x560}}, {{0x0, 0x0, &(0x7f00000053c0)=[{&(0x7f0000005200)="56e460c7089d656e73db6c8046eb6d", 0xf}, {&(0x7f0000005240)="85e7ae4d8fdcfe66bbeb0c86f03bef4381599a8ec9378ef0dee8a4b78bacd2065fef2db85ca651275e65b820e65bfb220091a6b63af2989ace828cf54eca79c1809bb4136c8c3cdade98f5c0f4609b58781f8e2f56412d69f66a5fca004baf556987f84d2f9ca3d6e523d7bdec9537b5c481d549759836410e59ff445a99357c2f6fdefbfb1f297b4ba10f20ad8a9dfef174c905e0f52c06063b9be42c6fac333854b8d7c7db4854a629", 0xaa}, {&(0x7f0000005300)="7b3adea89ce38831a8d43813a949a7204cda9728fd66ebc438492a98179c2ef5513593f09bbde1b7a570664d5d4211150451f02ae676dbb62e49d3669bd92ef8bdd861964789bf098d0cbaaa2d", 0x4d}, {&(0x7f0000005380)="6083083684a9b21ddf438a1f8a49d955d6ab4518", 0x14}], 0x4, &(0x7f0000005400)=[{0x90, 0x1, 0x7, "1407d577e141ab57d71c0bfef6bea9a2704c4368a553fbc1e730fd782410e1c4c80b015bc760c7770fcde34f0a26562a8181d19b7e74a90818624a87d13871fb1c96f66378f3b6f1df327ef5d80ae3214d5f13c8e0b1e2b20ae8da46f8f8264bbfccccb2b3b588caf932ac66e2f4eddeeee4df4f352c598feffe28cc61fbc695"}, {0x50, 0x104, 0x401, "ca51f6c4ade09c3e9ebb55b04cd7ae0e7aec29d2c83e01b4317107494f06a1aee499ae1027c2e13bca7bed259fdf3b728504100c9bb28fe2e80b8e"}, {0xe8, 0x111, 0x200, "b3041fb520a0ff382e642fa5b254d498e5958c5cf86b4a3b311644351d75b17ea8b050a25b19f9d191d7b0dfcc3efd614347fa54f389ee413254ac7be9a0e71c98fff4b45220d9f72e8c281314af2a3dfc73915eb98e9990a4ae861f38a828d309f82dce3a537b4e2a3b78b2a3d5066980e80e50a86ed44d570ec173613e9def91f1412b44e1be1a22ac64b7b527ac4f41803c5734d9694d9267df53216ebf5e7269eda82065c8b4395b30bf66a06e7f9463a1b8966acd971d8c565c62ed59660d3d4643f4e39bcd5a05cb9da61a166895"}, {0xd0, 0x105, 0x8000, "d6fda6093d8a5d5fa1f23f33e38c5732c036c59a17a0ea804b93338fad0a8c2758e7c801bbd0e8325dd4ad59f9116170898accfbfd74462910f8b1aadf90fd717b6ec73531307ef485d836900fb49daee5937488eb85b1116ec0cd0214602e991f25ff9fc459d64c83436ab0cdd9cbcd9374b523fd258674d15d85e5ec754572c7bb7d1e6b7338c78be9c2e6a341dead7dbc160d11c572059703914e5ee8ed68666b322b3ece815fa2d49c4188681314d1d39c980361edbd11e0550728016b15"}, {0xb8, 0xff, 0x7, "49a31b2c6f1b25d23064b8ee4818bf5fb25b40e77109fe080caad0f8b5556955fe5178f8e4bddf01f33723266190a564e9ecea062ddf48466e7f63e16078f37ef2b2422c543f738c8571036f37c44196df1e22c76ca667ec90548916c8b6e24659c870f5899a175aaf42a51dcb23fdaecb7107d9ada00e44df7c48d42355a4fd2184731e91b1a2ec75108437d22cd91f8747b8d296d87860819a27cbc0249772d1d9"}, {0xd0, 0x112, 0x2, "1bc7cd6d9048d9e8ab7ed2b329d6c4fd5eb4d80002373ac10d2b075318758ab6af6addcf1edf5c55bf865dcd5e71260b9704dd48e35d8d5b4a31b061c025b42d10b4b34e5086e26f85ac13c687efb9dc581b493af46ab6523f688886f3358cd8f57b90f8c2814b44ff791352a06bb7343c7253371155304750f1f20c59b518a5450c642ac95f9015e876ae212c3819e141843c0a1c9e1496556e5f859ea259cc2ff3e0d2d11420018bc6a86035a6d6cc23701f725546be90470109"}, {0xb8, 0x84, 0x4, "bcb6ca5b96d85e9da42540ea2529c84b728c1e42422bdb9dd90379cfa9210b7f810d00de68af49f6b29be297741f18526bd30f04560f3efa983b124c0bb7ca017ee42aee47f84a2c6e986aed789b7ac78a5a3b5934099fae264b0a276eac8aabe2c73732899ace8949a608aa344214602e93f903a519d2564af6d81c05c4ab4af7bdbbf56a56af01857e8b7993f81dff1d60ad3d1820c9ea85153f502979ce20e0df"}], 0x4d8}}], 0x3, 0x8000) 01:43:03 executing program 1: r0 = syz_open_dev$usbmon(&(0x7f0000001240), 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f00000012c0)={0x0}) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000240)={0x0}) 01:43:03 executing program 0: syz_usbip_server_init(0x1) 01:43:03 executing program 3: r0 = syz_open_dev$usbmon(&(0x7f0000001240), 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f00000012c0)={0x0}) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000240)={0x0}) 01:43:03 executing program 1: r0 = syz_open_dev$usbmon(&(0x7f0000001240), 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f00000012c0)={0x0}) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000240)={0x0}) [ 1145.905791][ T3410] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3) [ 1145.912662][ T3410] vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) [ 1145.927980][ T3410] vhci_hcd vhci_hcd.0: Device attached [ 1145.936869][ T3411] vhci_hcd: connection closed [ 1145.940537][ T3760] vhci_hcd: stop threads 01:43:03 executing program 3: r0 = syz_open_dev$usbmon(&(0x7f0000001240), 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f00000012c0)={0x0}) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000240)={0x0}) [ 1145.953376][ T3760] vhci_hcd: release socket 01:43:03 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f0000000080)=ANY=[@ANYBLOB="180000000100000000000000e9ff000095"], &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f0000000040)='sys_exit\x00', r0}, 0x10) timer_create(0x0, 0x0, &(0x7f00009b1ffc)) timer_gettime(0x0, &(0x7f0000000300)) [ 1145.959152][ T3760] vhci_hcd: disconnect device 01:43:03 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)={0x58, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8, 0x6, 0x0}]}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x58}}, 0x0) 01:43:03 executing program 2: recvmmsg$unix(0xffffffffffffffff, &(0x7f0000001700)=[{{&(0x7f0000000000), 0x6e, 0x0, 0x0, &(0x7f00000059c0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32, @ANYBLOB="d1ff971bb2312a3ad376e4866f3e1eafb75d253797849a04e8e1016c51c7a42ab9494bba2f99069f5364921144a080ac4a03db83dd0831aea1962976ed408f1cb198d9c4ed941ee4e3d0d2ce962d2f9a460a16b3761f74ac173b41891bb49b873b97cb95c0ca87d0908a12b53678bafd8a899a5b00ba63f2c32813bdc1ae613f51f53cbafa21d3a6d90bff36743340b66b43a09283ae03c82e52119272746ec406a2a7"], 0x58}}, {{&(0x7f0000000440)=@abs, 0x6e, &(0x7f0000000180), 0x0, &(0x7f00000015c0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e4ff0000ffff00000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="0000000018000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYBLOB="300000000000000001000000010000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32=0xffffffffffffffff, @ANYRES32, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00'], 0x108}}], 0x2, 0x10000, &(0x7f00000003c0)={0x77359400}) perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3179, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf315bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000002c0)=@newqdisc={0x74, 0x24, 0xd8b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@TCA_STAB={0x2c, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x0, 0x0, 0x0, 0xffffffff, 0x0, 0x0, 0xfffb, 0x3}}, {0xa, 0x2, [0x0, 0x100, 0x0]}}]}, @TCA_EGRESS_BLOCK={0x8, 0xe, 0xc0000000}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x6}, @qdisc_kind_options=@q_clsact={0xb}, @TCA_RATE={0x6, 0x5, {0x80, 0x27}}]}, 0x74}}, 0x0) lsetxattr$security_ima(&(0x7f00000017c0)='./file0\x00', &(0x7f0000001800), &(0x7f0000001840)=@sha1={0x1, "c9fb351f9a8e60285327968e08e67150687e6a6b"}, 0x15, 0x5) sendfile(r0, 0xffffffffffffffff, &(0x7f0000001780), 0xf8ee) r4 = socket$alg(0x26, 0x5, 0x0) bind$alg(r4, &(0x7f0000000100)={0x26, 'hash\x00', 0x0, 0x0, 'poly1305\x00'}, 0x58) r5 = accept4(r4, 0x0, 0x0, 0x0) sendmmsg(r5, &(0x7f00000004c0)=[{{0x0, 0x0, &(0x7f0000000400)=[{&(0x7f00000001c0)="54beb2f7ef3eb17f8d9dc00c6b10b4fca67c8ec096bdba1d60365c0222266f2ac6", 0x21}, {&(0x7f00000000c0)='j', 0x1}], 0x2, &(0x7f0000000480)=ANY=[], 0x10}}], 0x1, 0x0) r6 = creat(&(0x7f0000000200)='./bus\x00', 0x0) getsockopt$inet6_IPV6_XFRM_POLICY(r6, 0x29, 0x23, &(0x7f0000005ac0)={{{@in=@initdev, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@local}, 0x0, @in=@local}}, &(0x7f0000000340)=0xe8) ioctl$sock_inet6_SIOCSIFADDR(r5, 0x8916, &(0x7f0000000380)={@loopback, 0x34, r7}) r8 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) sendfile(r6, r8, 0x0, 0x40d0a) sendmmsg(r6, &(0x7f0000005900)=[{{&(0x7f0000001500)=@nfc_llcp={0x27, 0x0, 0x2, 0x5, 0x3, 0x20, "859952d14ec9ca9f06c1162c70947c156bf270ee11a10fa8700c80985ed92bd996de3f9e1fa4efb7b58a7fd2f17808d9870707cefa97c3ed10004fc5c5dd7b", 0x17}, 0x80, &(0x7f0000002a40)=[{&(0x7f0000000180)="cb6651079db205cd5599ce0c83ab510748716b4bbf5fdf5b814f8b2d3b53c3ec02e9", 0x22}, {&(0x7f0000001880)="67b3d2f6f2f623761799461e98b1d527950334d7aa5ea6ca9468fa2cc7b460212d5cd868d314f8fdf9fbc8c58afe5f86c58e7cb7a30cd1991342892d75c091666a75c01dbd9c3b0372233b02b2d57372a84d5bd70806fb1cdc63fff8018c0ecc52f89ebb3bd36155d480fc8e6a91a43e97f613b2922566da391ba88842a3a9bbdba9d15bf6d4fec9cd4c0e05bc0aaebf81443aa56ed5f549bf146c094ab55eb41aae1494ec6664e8604996d7be2b860bdf0a9f3dd6ccd3c1f9bd0242032ebcd5c1c61d287a14260cfa750dd50c4335ab7fef5a479b5139ac381af99c9a10b2baed858de3278b7d838931bebdc7c802876713826c5ff1cef858269625dacb6d476f6d13c33d8d2124cfccc92b68cb532fedf5acecf9463ea16c958ab506b2cd1654f2d0fb43f0c384dd49e56f6000a57be6e6575c7d05ba899bb1b6abe3e6406d84b6f0137f553f4dffc0f99a47b4267b64713a6f9bc6f0493c5417d9f00a0f271eef0c83a8cfda08b883340f399be00e601a3099f66ad8d081a1e06fb73c9a165ed6614757c1958488a483b027b7beedbd5e129e38ff00b86e866f5fd4dd049421af83786fc7a481ff3aedc45f6dfc592e3f3274d1c76ea5da48669e3e15e768c12cb5a1c78421a8d0861180ba9c327bacf3e7521233cf791fcd6479a1d2db631901ffb3766e948f8e222529bb5ba5843f86d85e32f0551d894a47eb2d5b4417f25a83707e0101766865a72e83b4f747dd4dacb2e2e27dd8d95a4b9b1de0d42db6f5fc7be7900a2bb16ce4507ae42e7f38f6efaf6b8d5596f1ff154bc1679d5880b33cf02b8a8966dba3f928162ea6a04cdf383f9fac919310ebc3e28289c68e2f37672c65bf3d08e38373b08ac632a52a53c7b7e24f9a6e70b2b0fcc499bd0d6a388304aeef68d1cb49676a6e16c25fa5db8d0453285aa8c612d2f870b91e28627d7ccf3a730272dcaa8922344750ace17c878b7f6ae480e4fe33ee516e394f51ccfb6e47321d4226d6d6d12fe2547f5fd5de47c72e5e5bc4780f532364570d257d4fdd2610fd9cc62dd321834f925da853a76e896cb854a3fb2c70de190fc032541bc4c497d9b6661f220616b46723229197593d52c3fa346ba7aa5d408ab80dfb7627c609ee774de72f58df528b531d113d98cc203d4246ab097e612d9f1c04c5da173ae910dec7b0bddc14c4ee056c03209ce1f982e18d72c8d4f48476150d60a276cdc0d0615fd9172baed6b9b483db246173a360a99d6d38796358dd8698fb4e0aa7a5d377b8562211fc6a14a3f4c19500096878048382f54b51af84461695ef0c5a92765a69c0ac19ac9734839a9dec17962bbc3fc7f383792c446e6f9cee002f5b59729c04190e6c8a317c9a698265f1d920039ee406468d0dcaf9b256c01c35095db3e7ff4729370be251146b371b87dc26c96c23358da7fe87e3b30c2bcc16352dedb88e91bf8bdedb733dff65c8ec8c333cb3fecdbe601cfe1c2950d7335fde5efa938145ec62468fbc36acf54d885b95830e44b260d02abbb6a5551cc4b30761b0cc656cd4c4d906b2dfa3dc230c0890069a290f9bea3859dce15fef749f9de370eb4634a04c89ebcb5362ba1285584a99a9bbaa75350b820470a980570bf27ecf121681beb35e91d7157d87aaba98fd3bc577cda1e4789ac2955730b2c08a92cf54a77daa0b7af74fd0264ed58eb9eb2587462ca22fa3732563ba01ca52d6d334a0c23aa40e405ee999c263a5e27ff5c7e24fb416d305483ee7d2ec8613e041f2cee84c71b4a4d02a9e8ee3c4705e64067af9d13f99f0290bb491e70756fadf99a516ac57c2ef4f34c52f93b74b8119add2b6c18011f9182ac50afad4101fa9766289d59fed42707d7bfe2f1ffa8d3cbabf0c909910c69d9de1b3fbd274995832493c18d3e420bc185ef8fc8a4d20c0b554c791dcb3dee9c7e433bea1e8a3e1476cba4b16b19f9f7dfe72f749b1f160dda456eedffe8c13a4d84ed9e2d88f47c2e791eb03558897d52281e619232c2fc115be1f001fe0feaddcdb589ee5a3a9dc037534aab6a867a02e9978cc94b90d745cc66f519f8ff00c5d30c9c4a34f894d85615e5850065c27a83fdf633df5377cd10efbb307671de58194116e4c87526d803972c5133d1aec32a967ed8f7c59457550dd97c263281740347df01e03d5be6f3aa5ebec3024aca5517eff9d82b71f6099992684065ebed1b32fc312a5f4b6b2ecc52e0b4276b2934770ebad3022485a69cf62acb83b23d33c1b6529574123b90635c7a4f318b10819cf82af9b62c4557ecabfd26c036f2589c513c07b0e7844e5871dba8e5227c64afcab2d1ce095463a78ac33b0bbc8cdd6a5562710ecf45ee94350258d494950ce9c613d6e12560699f1bc2d113e3c2b3e469a2185dcfb278193e4da2692dd50b9ff64a776a9430513101fe20f8448001e0d176a7729f8ba9167bbdb8b5b436f18424f1dede8330930d79364d30accd12996ea55bbc44a9252ccae12983e3363093fcb064ac318e54eda563ead00b043635b2877214cadecf2fbe912b9b3f83e8f090baa0a295c059cdcd48e60568867a71bd0d570b657e29a3da867e3f0f88135581242086dd7056702993353805d8480ce84ccef23f130a7da84077de2dab2b7018bc48d5dbb1d8b46cfb7ceffcc43f021267d8f3408db02d68daf21a0c89fb8401095da28e02f06669817d2b81731c11f0dcbd792431e1bd966eea42d37c7fdf6a0e464caab00ef835316c32a2afd4ca010fa96a15b931f6cd5dcea2a9d3528c993bbe13a30c3b85e46c2c3ee77110f5be70888bd16fd5129c2be828d83bbf768bf08cb54cd4ea9706548ee2f349248fa1bde65afcfc4f4332c1bfba92c4eb842ba16847dda08b253ec8f10461b0ebba8256eaf26c68d19f991fea64e2f49bb2fefe18496a8735c449b7902c510280754ac5a3358aebd63f52ddaeb88fec7460b59c60ced8765dd4e450f85c8728c92a3a5999575ed10772d15d64e3fb306ec6d5d01253598420e3e9de72f94230e2fa81f8e994bcdf5c3773200dc7aa41dc2efbfa835ae94a275285a930ee0727bcf7c53b68990dbccf43471da8d844c5fa2adcc3eee1fedacee7e861e2ac80174e2621ff8258884b136b628462e753344ccce50ab5d5bf6da5dde3f42e05a4f26fb3b8a0ec9597f164ad618d515eab4c20eba8904e81d035076fd5d737a4b5b5a614e90d0f5bfb3b792f996f2913880022ea9378af0bbb669b6b1613e5a38d46b9453633ff280a45c9c962d1321ed96d40d1f4f9b18f22cd99e39dba183ef4e4e57d39a660b7c513ada171f26d44634286b56729a436761de94f65900e5b859275e3060158a5780da328b60dd4eb82b7bcb5daaef5dad5b3cebcd6bc3d7fe82166214e57f4dd3218b3df851569a28d3b3183b532ab7f6516ad29706925665e24c3993c4305f8c902fe01d903e840661a7d4e1be5b23619542cf8d68c45beb09cc2d2679bc61df50948772850401057ab9756e26ac56e0a50ff8056ef645fab92466f24ce0df6536f9b0ea8e60e2a9f908670bd06437a988857ce2edeb8d2c1c76e11b8660962c3c1e2adcec01a1b21358500132f49aa1c0a23be510591dbc35cda33fa4ce2b4c4fd5d68c8e4b68f76efc35280e447a23435cbae359f10199ffa530f528d7582ef07d0361f75e2e06aa46b617dc65bbd8cbfaaa405f0e5609d87d238735d74a132b5611c11255a91206116a1847e5926560322d1e1a70236ac7e723f0cc5915233b74357ccc121106483e4652f66a15f6477ecfd871531cab51da07c596868266b3b45f0072f11b542d28579259d11de7f26e7d252d1506f693f44b797b54d110710d6fe464b6030ff2f53a8b279ff1fa215fd3245ab5982514a96294fcc0f824d569872a054b71ea187b13259b818f7407ab220b7e9d415525c984bbc25af412767db9edbd7b70da8bbe23ae59748083d82b9cb1fb17c9a226f6bb6ffa577d1f52f659632c3ecf5101019cf4ea01292226acb415ce6ea5b71e6938c037d79ef93a8e33d3b86edcb65b0d60b9f911f55c7f667b60d472aa89600b9446e7d1246f905df34132f146d60b07275b112593017ce20772ff6d8d7e7e9a64cd573a6536c1fcc95b323c5eba3ed507728ce44c41fdd9ae101e4f0160559f11e0b801e767302295efff469951d3bc317960daeee44448abb80058a9747c8b59b8a7e3299dc225fade027cce32725f52f569d8012c4c5cdbdba73bb58625540a1f0b747313855f57247bf5dd6bd82de5b5bfb4b6498ea8018dbd5bb05337510ed855fa0e20a3e7c9b24902a3a2fcf9aa4317e5bb8a55450b21b1196779a6b9e59c6aba53d117609e22b5fd1d435c9b64e21c5038232f4afbc8597239887567f4e8d4ca675f1bd7974376b0179fbf867509246e80267eb77121bf469bf82c3d28e619903d327ba94368627524bde2b10dc73b8272e512cb43039a50ad7ca3ae46cb293c71e2d7536e95be6764fc7bb4c27211d15ea9937ce0234c33d55e606ecb2f4ae5133dbf013ba56f4c56aba70bb7ed4574dab261db62f5fd554f72cef6446651aaed1a3a560abe0eaa6baf86e6a4a09d394989d0f043144e26e6961995501e4e7efb3da181d9a7edb942fdc46ca60089216aba915538c97797a02e46dff27c3c421a6afeeda8737ed8b0dd7c8fe467aa72e2018e210cf7c850f9379747732597e9f62d97c42a70d8b528596fe0440c3c5cb47530ea84f8d74e2231edbf3061a215740e8cb6750113ca5d5203898c8f69633f6f0b3ee316e0b7053c69444137641981f7a438a42f9d2f2127b750eb825b9a14155e185a3f802b184ab39d21071eb8a1c5db6c2f70426aa2ae7e40a230cd525f988f8c693c04641f8365b474f949afcb9838c650999228ea316bc128c540404193a33b610f181ad6b6b73b529ebf6ae46a10541c94e6442c5b79f551558ce4ac6afc42c80a2b9b29e94aebb4fcdb03700a859a4b7651ade1256b2108dc039bc0f9174f92f8f7ee1a979dd64d5f0170889adc2744371011e874eb785953562b265fb3a9a6a9cc284d2d69d6488c4bd310a52688ff0f7396836b96e93cdcfd9916428a729fd1ab8d3b4eae79005080af6f3ad5880effeeb5bafa5ed375ef16595f03b68d43335cc41e95a41262e18a7883e357d5f02d19845a02361387591c1fa3d73caf5a564804a9c7e09cec563caf6b2b76fc3a0f3c9d6f75e618803d5857dcd010d73488e37cf21715722876fb35b27b6f27cfdfec1b04df09dbbd9868cad64a4faae80fe02d21176f94a841557d72bc3ce7a3c3853cd7b968c4028e21314ff6365458b7e594c0cf09c0c17b92fec783bd6ad886729098a59e0c5ec6ce39ad038766bd98aa270b4194365052c117d87ffa52f502454d9ac1a354c492d4db23e9763e1c418d5f83b66a30dfabfe434561b5bd68b45437d7d3130d77e5c6945ce0956a9d4e36592c9d01e7078b5bf9d6b7c4641a8d8bee8b00ba55798971eb6901900d5286978ee400da514fb23230c35df15f01c20b0ca19a2588790d536d79110464ccb87d12bcf149a9391e42124c3b9b6620320c705e18a825a929b3f1259b16fbf5125e5ece5c3516792353cc65688686d8485340cef5a1a10192da3aa4beb9523db097f2586d234b1221b2eac17b82f4d9853e0155d8675b1603db6993d0d5972623ef9d878b5789cb2147c2f72b6265c49b2187433e10acf18ecdf296560f26a6dceb9113fe591206a87699d1e5cad7ff4fc094587703bcfc919203aa7cba5c620d1c1c0451fcf6", 0x1000}, {&(0x7f0000002880)="b846343e92d30386b9bafdacbc856c8faaae41a37dc793507d2122bfc80952e9369fe27be1e0eefb177f98be09c30b271cf2ed07575c117ca58528d707b57afafa864628d44562977f02d07934a5a6dd588f76079708cdea59390a706d15c5e064129f9a0373404f017e52db868637b75855d6ae3b38cbc047bf0d91a87629d9232cfa2425fbe3c718592d30aa068f7cb2d01cf5cab9340c72d5730703838c0a5d1dfb93aa7f5635f2f58e81aba52f4155c1fe2bdc4b218ae8c9367554b153b3469509cd0fa762c05e136da3d7c723792393070296eea717139f58b03823ecc3806d067edf0693f8ef711dd917ab6f724de3218fb2e6df7de2abc80cab", 0xfd}, {&(0x7f0000001580)="05c0e7645e1fe74af4d56c15ff84", 0xe}, {&(0x7f0000002980)="ae7c899749b8974688c4bd6d37186a572e6cab7b043923e923bf2e1d8ed78b963a274938798a15075913cf0f5c8522ff9bed3ffc59a15e1666297d9b9a89561de4fc844516d2c11b366d0058df", 0x4d}, {&(0x7f0000002a00)="b944346f4c5c05c12c4d18e752db5a3d45a7093752aa997b9e7f39e311e2318e101a", 0x22}], 0x6}}, {{&(0x7f0000002ac0)=@ax25={{0x3, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, 0x3}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @bcast, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @null, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x80, &(0x7f0000004c40)=[{&(0x7f0000002b40)="c541ad0dfafb8111d6f9836f225f6063fd69f1e43e38bacae7428e915d654b0f5792e800715b1e7d6545d8e2ac05c22105c18fbb48831cfb1af0df8b1a8ddade42e8e50941fab2cafd27683e2658bb8f9e86505c9569ec395d5934c86616693825e0d2ba132322afdabba2d6957f8a810f85d17f2cf5e121cbd7ac7811e24d326b40da849871affc050a01ae3d935258efcb37e77cd235c504705d7c04fe48883a1e6e7f5ccfcba0ef88cd7c5649a10a76bd6268631f711f98429c52228e57489c8b7c19e22a85c46f4d98635dc2fc039dda27e4ec15213a3c11fa20c088e9254ec218145d88fdee39fe237b177197da456940741f8118862ce29b884d914dd84312757b91682425399150b7175983c4761e7bb87d681046f13b0b220926d3a0b2fee844bfc5bff2823f986540999d17cf9f51f5921ad148568871d206d100a6e81d1bbdebf28aac77ccc0fb80e4470feab4be5910457d3ed45b4463d2d1d812c5907bdfdd400e1c7ab31b32f343618ac20da9083067d576622051aca3a526ed426d983e2304bd059aef6bb47aa8d0f5497ee03335d1949bbf8577072c1d99e550de3d54c0937da43851547e0cb7e528051cca368b08ce1caff449b4e0b56989546a93cf7d63a386d4e5f119dbb9d810e0e31441d750629e2fc67b040fd9c7362786fde71209a4f9c5d24b2169f802733a561b2ce36ce58311399a11ba14cb38385cd069f2bb1ca1dc4ac6970d92a7209a5f48e27bea47c80f5c4b95ec87a5e0c9384bc8d065baeca12f80b22b40787d3a2e9d677ea2d6a1231050b29f086261d11be8cb589d4db95d99ac2eda7d7d921894364f3d6b4fc36cb8dc827777700c5098c1b9549256543758ca67c33334d67cb674ba18980af55e094578983e52b91caa0e1b644ee53abb3a03fdb166c72caed229e0c23fffd7f5797a8542558712de2f88212ee89c92c328c49e60e8ad386ba13bd2bdadccdafe6d1abb9475ef0b09d8d7dd59aeb7a8d851cbde336b37780e26eabfc55f856f5e815d02fb29ec4451bb68adb2864c67a83074b9986131b7025e6d79b948cfa96a224f5020b2803c92a8d578fcae0cd40bdeb5f15a5c1f42f69bc4348863dab4e4799de82665db44ac17782b0d01aeb615a8c0a857e88a43baf11c37def2a0f6fd9b4f413b1465c63f5342faf07b9010a0478b672436e3a8cb118f074c70247a9cf922f9bf2855c1a48d0fc8b762918954bc6ff4dbfb3be72acb513f2165d9478f437ad48d96d4e6d464fb347fd78b8c35f66e8511355522596ea0a03636963bc22d0c0acfb10cb04aca9014d34dec77a4b675fb6a896472c69c889866ab2771ee078b976f39fa72c8e6801912cbc9478e19a00dfef6ffb119b3e007442f241ac929fe6f835a5879e6a7650dc382641f5fc935d8abcc1f35c231ef9d7f47220ced2038a1d6324682953fb22e0d36ed07fbbea15b0706da86595cdf6180cacabcc9549296a6c3e673ac896a42982ce9ae9ad59278a2ff75bc27c058507b6f9fde7d91adcf821f1eb1c9b8d82f4083eb65c949bcb83a3e88a01c5b7f2567d5ffa2493a58467cef6f1b049c7a81c2681200c56290308c6748ef20ed708ab2fe2aa1e59f515b7b81db041f759421a5dc527a7710f6a61405140e1572cb79d65679ae9c85a90d8e7497263d4239f93e83f0f4d56e5be7874d4425448119cd802310582f8139ec72da95b50b8856dd2bbd005fc9b86f4ecaa30f76293da198b11cc12850d392384b50b01c5c28ce45552969e054cc27afd64a86074c0f88274dc35a5a98d94f772e32dffd654b531d861bdae534b2be9989846ab223d11170dbda11eb74157935d0f611e35e303a390f3872a30e9433c601dd3bf59a974930a11d9c472ff8d88da28f43c7778f6e0bd6c8d6480ff14a4530b3d6201037329177102c55881899dd6bba7b1a49f2d37bd374a90a80fe2bb2a29b3166b7c9d003e59d1df779624bb79567abf50699187d8b61b54049a548a94406c496f53bad731445d34f15c65132bb7acc5461576dbcf5676619f627edcd44711c6238cd49856a63fd8cedf8681b0fdc0ee9b25349d02f11ac64149f7614e7adc2c0805cc77743040590a2448cfce59e8ae4db247120703da9f71fbe58a46da1720a8afdc8057bec652b0d61d7f661e2fbd1d1dc245c74393afe100ed5b90092a5a59aeee4bac9ad8cc8edbf492ed284f63399a3ea233ca5229f051422782cd0a72b973f377e6834523bcc0c04b7205957219cffa50db2063cfb1164d0835ac1c506f8672ded52f8d4c4684793217777356c5fc3653fc7651728142973a0e34541d477285354459e30735f1395d276880fdef0220b692fce4bb7cc0cdaeeb60a23d3b65fe994ec2b3f32d1f675cac862b88e4fce6aeef6ffaa9c99d27f8c70431ae8b0e17dd492f409af544e6d6abcb48d20feb34e0cee7d63c2ee7d28f48258cc2fd622defcce5ab2920466fbf196c3b2e135157d6c54957e7ca098eaa102faad9f56a79d4776eaeb467dc8cce71805c7b04cc4f607886be03b9a69495e44a6083f52eaaaa47f859269804afa48949647b02df1cb0f77c90d55805c0e14d1e1fa20703a3c9c40fecd7373974d6ec8dded035365848da8d114a708f4bcda02a761a4302526f2d00c60d5d460dcfeb639bf2a514c84b4082cde087627e11ca5e229593d7033411ad9518c3d8e5f4496f5299f05b161638cb8413e0793da96afb17da9753952ad86cb167bafa5997d7dfad19b62246ac05cc3734f241c3ca67e9e83c8c5815fe2fe235532b532afea46ec5e64da845c51493bff8aae80011006ee1a44e9cfb634aa0c74dd253935bd5c2d4ed3c9eea06a5e839afc384c0f3ff85a5aa81de38892b127e59443f2caa51bce4f0ff7c46393afdd03e16d6b9511583468007d964a616b86f7cd340384593b528fba939cbadab62ce9a708f65ee2f65656c80cf5680f137c59af990d59f4b35cc6d644e25aadd9e9f5ec32cc3bba0f3be777011c6a00790efd2108dfea1ebdfd79328055819b2c0a0b71e3aa1add915bdf5a1835064d6195f4cbc8bf55b3a09c15c3fd279470e63c7956a160068b143e20c0df3d30ca97dff40e4b0c4afaf007d31aa81b4704b4c3c627e08029f43e4200ca029011bcb93087db96b73eb31db40ae38b2bc12747164b6a5c28d2933088c1d58d2ed8a2ef79af5e9e4352779915cc0b67f538e603f5c341e90028ecc880000432b3828c959eb56cf2ad17d7a2b0e8a97688d17e925cc37e66c27e3be936b6fff07499f587b88c5830dbd552c6e55567b3cca338dece48e64b5cf706b2088265dd7199893468bfed0d04e8f4a6a9388cdd8a61bca491f8fa4884af5bef60fb1d7de22ad197c53072b5ffb354c0d7ec343cf724f36b5a4a978a513e2ec4c53ccc1d2af90120be748bbbdef2ae73d90b0d4be4447d176fea7527d7d427959bbc86fd39c4d56eb4b0eceeeecfcf690142742663cad99bab86fc0207e64ca152ab043fcf0d171114999b88bc7fdf2dfd6d511687441ae99739fe0278d4e496470d4754bf6cdb0098a289f9bb6d69885a27c686ef91655b31b8b7f278da022917bf4244b9a3bfb2197073e6837da5e69a1b63289c74df5008edda882f5396762679ae2ad66acfa1e88e78b016adc527479a91834dc5e23187433ad931ecdb40e02a3e376a004d4453ac6e20811a543300db4c547edbf70dce65f73a1d43e04f0051556f651c12e48a263bed1329ca293e6ff3e1e075d9ae9ba69ddd4a100b8828d769ca86598f7963277e9a0fab7a815380cf68d805af2d0a657d811ac1e905caa11802b4f458fa711e848380cc87835b71016858e79dbf63a0e2b92aa9de0b50794391916344e798cd8fdced25a4491a842c59c06b39221c867d46a29a103b0c5786871dd5a6afde6302bd582c7480ab0a0a6fe92f52187aef44e9004781a8a91a0603b6b929444f4003c33c72ca0afc31685d8cbe5782794150f31077bbe8e6651ef43a592d0fd7e48491c6e3714b800905d9ecfdb2e5ed52eaa183a9de4ee91c27c05cf0b55ce0e6e17e2ca985f10dec91346f5103420895966e486de3d434040effd70a7195c33b58a552f5e59138aac8dd40e4ae6ea7088cfe6c4f1201e03d5f677ad6fd913bf3d679b39dd6f1dd8f8b356dbf385ec24a73db92155d8204b95e4102613918ecf87381690e67923d567ea2637099eaf26b660832dcbbe77f78eee3922a7e62efd655e16c7e69b6f784b53bb585cf9e323058e11a1cea6a86e6a25753c28cf897a7415b39510de94719a26bcc9aec159a538bda927fc1103d31084433be9e06c867de32b8d0b083eb1e416ace9054d4cb4b430baa88141db50071386ba4d06b1c15ca0d72efa5b955387ca6395543c549d5e7fc65aa79b958c85dc445c7fe4b88764ca60eed323876afa31652c14be71497d85a582fd29db150304bd72f041db37b7c1aebee537ef0982cab73b65a79829dc387f9e96b0b0be6d59e48108696fd20b9a3ac3277599c72c1ad2d5d0784d575cc08668eddb71c1cc6f636ba048b0b306af4f6e7495d5e500ddc1cf96f087de43390c44a5d68e392c6e4be765523102e597a32fd05f957725acf596bd819098cb3a0f27807928e614f3c9444fe32c6b0cb678c949e3eea564f7a5c03ef965e14295b1c2256d88a5f1b565f24945e341ed70ca619031d823e99612bd17d02a7aa2008dc97db01fd2eafd3ce1277eda25b2730314ed22fa1e25a32a4a5c6ecf1995b6ca7832ab110dbbf997bdf0421284b933f28da2b24c3633846f498e0783bcc604ced9096dc537db35ad07b069a28185b14cd2339cfce19aebc0a2eb27d5e036f8c92a6d639e30e8c6705a1c5325e062f8a6a6a34ec1510bfc19cfbf673e9e8c23d4d8b806076c4321d9de3b9e86ab7f3f9b1eb80eba3ae50364839fd0c21a19eb361dabb7d616c50e4e78e8f3343d5898685aadb9613ac6f07c86de5fc2c9d2dc5c944fee637b7dad4a557fd140de006663dc86ae5221a97bcfbcca3c17d3a8c5d7ce916a2f7499851dc951bdc8fd195936a84b4932e09017ec7f80e87c99b2709e86101829671222b8baa346cd8fd8c8c87464dd386b26a64589db0a91efa3c424d1bb859164339adf4309e5d9433f494beb56c71cab3468b3468f59f75b42525bfeaea6856cca86c05929fa8df19ff191d9d1381fa95e781ea2450d1e66b24059de240efcf40521a60da9ace922811e17b375f2b725fb5c5bc48660f0845039435e4238db573d505899a467eea368ed02b80c4f60f19db85dee8cace8043114c288489313cd4f928664c56b1889dbc89a1b458ab158e18c39a410712d1075d836ff0b6e67ce84bb8174f04e21de640daf7409e9b58f9640732addcd289dae96cf51b808701e810cd77ff58aef1e82e8244c54775f30425b54b4b9e99c0c2615addc8ed9726f5eec0f51c1b1eb622155907ee5b59f4f0407c9764c33ef98c9d7e058ed8db35d5effea957d0775ae961c9d6eb59a3b066be95b0e3c7fc72be8e11b6148df7d1e50aa5b0c8c62abe4cc0cc3fc2076da7f02dd33e82944653ff22dcb1f99f11b0aa68b5936112f22c0e9c55547011e2d12972f6c027c68b67ed95b865a6e8700731f930a5c16a8f5b9b852b6f6008e7f0edbac99d6912824b4b837b61c15c1773c273ab00e583f3e6db57df6f6153584beb91045618c9b5b5f7294e3078ee3cbaa2f61d65607466190091c7eea3ddccf73caae7b30ec3eecbdf238d6678a0145f8b1702ebeb9547897dd39a5875062435521f", 0x1000}, {&(0x7f0000003b40)="0c7950909b905d0043a8e243e80d43da7fe16f4a48e705b95e004496fcb72eda1948bbe4e8de9e05d49310cfc5e6d39478d11e00f3da467074faf5cc92eacb4d184db1e647deb3ed8e51ec48b89a2bccc057cd0851f9966aa8bc01d264d29ebe5090c5e556a82e40449ddeca1bb87e72ee6d43df8ca922fecc25c41a0fc152440b30ed6950e9710dc928250ad766265e855bbf5c82536dd118b2244dbd2d999b61e04381c1441559c95fb4985abf5c3c12f29b4b64a019754357ad5b435dd050b66a5e0be0f4c1af5123989d05f2def0e75cdec6d9a58590a3609c6f68b266cc6f7cab1c94c7ab1130923fcc413381f98dad245ab04f0d2a6eb02e3a10f6eab6b9158a9bc9fb1fe1a743f92f7b86a55e2694160c1a3d45b5ac5937fa07834f4aed50e8cdceb8d7bca0dae88f4e140632bd372efbbfe01f3ca12d8d75d6f793b06602ab076ce9f6c7f776e3069a0ae923fb0a35df698ca4fa62815512fd03e5c96580192f632ec18302ceb1ef935aefbadc07b2db3f5d978a9a398e1f46b31d41b0e8f9e15d9238fada02fbb318b81823bb661a4e3327d5cbb0798ee3a0874aee5af8194d6e3868fbc9e9982ff36df65fc51f2d044d00061dc6714fe16c9841f18365f2bd271599b886f3011610d7bfe243e378fa613464d391224d0a93c51aa57c4f49747e3e4b6e01aa9295a00d74d15bca1730470328b4f92180f996df9d947cd8f8a7d612116a42e273a1e511db6ea9a0f0e27a385d7239f22e8a33d19e6f14dc8c405a4ab533f167fb2d176ce3c3b006507a95bc5bb588971792760122c921891652892558c05100b9a477c2e229f7f07f7fa2c55ffdeb2cc8035fa180f59c4b9ad170c68ce7a245c43e1f40de65aad5cb621668e71f834664ada7c234090298ec9bbadd636b1eaa08540519479513cfe8edbca402acf5d0ce8d9de30531706c4d612de615631c9dc1467ecb530a4528006a4705a310b7cbbcfd02912c46ef8b0583ac7c414abba53b6b9aea0a305fc7457f67491466de4a0d10d7631bcb13304dc9e4d2412efbb72d2471ba249f003baccbc8ec10642125f850c239a9d5b19f4bd9745d5df214adb9dab9f31caf8717245d48ef8754c1ef3db7ffb56291d907abd1d63be8ae95d28f347c11c286cbf2a265e5e0da59948dd764e07e38533f5c22e54141ce8c47c86459c6f8fbaf7745e3c7a1974fc7707f3bc99a62789c3f818b497bc1a70640e45b44890500a78ab358b50fb57c3940da3fccc16e8bcbb593a2991aee2587fa6cd6b2c2adf4f2403094ab7bd9190498ab20df4b99c9ae97bed755d6b26cf922d8d669988707013ba64cb6edd1e078e572b0bf4a6494b98b5f5763990888a5df69ba4f57f14c084ea26644e04406db8449c4811eb72cbb1959a8a3119f44ee68d9fd25c9ef86d7312d7f80f1ba9ef2a88a9bcdabbba87e971a891a0430e7da4dba55ecbdb8996ef5dea399d97b7a2463638f2672fbe4a01579d54b73e1a80e47c3054d8ebe98a57552020c063b0f79d1e2dc22fa97b73fd5156721a4314fdb0326237771554f941e578d6ae869f5c7adc8c2fa39648d778870edb9d9b20192a9e32020db75d0213c30630682d834e0f86f6f8f152775148316f3b3ffc4e96ea03c075738a5313bd1050d375575a3ad1f11ff4cb4e477157b57821dd0d3996a05514f97a12ec3c19e163e791a35af5826ebdb360b187da44dd678bd7d7ab883bdaab0cfff28c93f8e56c16dcc81270cec441761118cfa4ea13a3e202144af24868c9dca9b654c3f8b01466447144b39be37669b09cf20f7437e8eac67061ebb8f6ad11999fec5eea69885d020a7419fa509b7577ee9ff89f9fa6250151bc535ca9fce29117d2c43675af93c958747865854d4ddb1aa89acd6c31be7df486a0a30fe074ddc1e36b87b81e12f0eb5957001fc76e5b11a2a00336a3002c7465b097567a27bed5613148eacce35a96106c281e69a1fd63d07a929e8013a416a87cab388a4eca1d8ae4107257cd894da1d7dfc78a0e7d571f87198f4ea4f782302eb76836bc645af93ef5b5f1f24b5209a0aea401be9f91acb02432960b93bc13bef3d812f643c0bbf0757a58b8772fab3f95efc76723e8af47ed331f0dc5cf1092279c2f7d90f067f3b7f35e5b9f93a4848cfa66ce9636513e4fe62561c17b30d6d1295a0fe2211d15c9d90357c7e487e032d3f291b7d2eb7504dfefc1ed9a94d200860590f48caf24e2c603e42941cf74a7f8e21ece13d39459c10fd0adbda76b060567a9dcc3881bbd955430da17e3a1295ccccb209859dced2059ce55ff58fe22a56e8349e4a8920dfd7030a7d426bbf6d048d1576d2f6298e64f84116516f4e86873429de6fe37dfb2bf5087650e359ad8faa9e83581883566e472109e3b621a41fef123c240517c9255ed3b86eebafb3387da42ad2261c5f4818f9d6b6b344ed0a61f75eca3b0733a62fe29270a2345fac11458cb120421e4a588b4c5b6854366553ae1770c6c683e0684552ff9f2834780fabbd871cfb920253b68d93a54e9a1f3d0e182627b1fa3cdc7052c60c3459edcbac179fb51e32164db3f637cb3badde0f2844466d46a70f6bc89f01b5396420c26b9c431894886a805f8744407dd71d58bc522d7dc446e375451f271435e8c6f1846ded2fc4396802ab13c03aca7c66e565b1ce74436757d6bc8da09534ece2ad661d9ed3831a412719264378355e3b2e9f93a3155e8487a08ec95ed8c8a35a64e6d3681bba401713d550e15b1457b4dd87bdba109304379e55d69f53b81d1a05a12d67253981fa27261a1478601656b46bfa3ee6b5c82d7ec15add79352a882a3835667464f035e1714c193a55bc0399b21e3af228689a23ec656ad964ccd74d291f10e25eba6e30e16954eb15ab9f3e555a5176785ab22608d7279d8f8eb6083728e3296adb5bf518328eb649b6885208b7d6a70cc3be9dc0ada931293823514db239c5407797ebc8b9a8232efc5bf9d1721b7e97c96e237a9acf8d10234307bc2266127b279c008cf92d9526ca89c514953e4acd556fe480f391c36709a5826393681fc1416376af65dac19e9545f2f63010ec00e35984bc351d8df8c37f280fddcce8b26e82917c683f0f381f1df8311e5523f5108424b5538af3f1e02466e60d5a89e398a11dfe4b66817e0e064ea4ebb68805118505a56885d3e565a46c2b3df1677419c16f9513ca2bffbc5fb208a719e37090e63d58c23072e8e567a21c0b36be4997b0bc2dcf1c8b7d83bcea8a4e2527ab841841e94f54039f4e29446827806dd6c072abfcbf8b6b8b9aefae670164eb5c110b3d8788d5c215f6c7cedeb9d819c5571c49e91c15fd678f8bd268be78ff4921dfdd3dc759d158a70c07b7598e17119a1d25b00e401d272f61511fe24a170cb7040d52520561ee149635ddb44b5c7de3a222dbb7becd714619cdc6aa01aec7d1ad2b15b01b1425be57b18e3949a4756a63b80b00769a64151c3c7b3d5a912e95e3c7b0a37d75f7ff11a2651f4d195d5e122f38758d547057c68918b5819ef03b6f5daa9fe09a6e60bc6c6c42bf39a246389e2be8e1bb32219343ffce534fecfbba4f38f3eb92ce5a21458671c3d32387a3bb8d391e45ca9cc2ef5fd71cc9c380350592cc23d4a998885d17f2745fa9a5ac3e5bfdc8b51af502953fa70e3536043f3405da38c09614c527e3cd76c8db91f37d8aa1c32a7f198f7aec19ac0082607b09af54f579ca3fdcb4f279a0d7b9b751c14791b36e7df8e6616109d00671c3c026fdd8acd0acde38987a020cb4f368ad1c40e0084f1776669fedb35b58203b8162cf84e8e80594976780ff6f42255ebc75e5bed44a1081b82923aab8e16ee38dde53db8e86bea81dd85fe14fd6b9cb9570c1de39a34080c52538a4691a6fcc439322ca38f55e15d92a1d80d543e053b11ec384607f30b452b39c7d2fbf1dfbcbf5d44975d97eb14aa321ccb605be6e8d36b8780324b1ec525363db94b8e3a7ac580f172d0f25ee03a9fcba60ff62649e3351f84ea1e3afe62c49ce7a79702eaa51a7e1d1ad1bbe622dd3300e834ff773d447d005387df5c7cdcffcb1e659c2ce4b40ba14ab10e6bcac8522d7f597321ca9d9ccdf73fd862a670318a04b5bd1f83a109b9552bca63c4f89e277a6c7e36ebde58844376a9c8c9f9adeed69c5ffa534a515a31e45de444558c5cd21af3d856b7fe582507891670025f9feb863053cfa3d3e8f2cf11d887082b2c1ca7b8b093eec93f9b5b61ffa3cbba9f95c8dbdd9e8c2c73f27b8d7b5a2d98301e6fe12ef1e4be197aa3c77e3a0d51f2f9c148e7fc6cfde98863e8765e1ede621a42a81b4d6f64be3daef9beec5e17b5ee49ba1363eda35edfa23c38fb872b1f5f117f6d7e4cd9d6c9d67ec781b5e7e58513ad1c148d23193bc029f1c536f09081dc0a9cdd639899c03cfaf0261fb267ffb7f0946acc83362d4929e3b4d3f92d0d56efc7d5c845effdf47d2d61b83a1ec9a76cc38af75fca0890b86e34159777749f107105438d851af48be3c7cf69718adab071774971e48da4c30c46f6d10a7c9fab87d2fd668402338d458315f05c64f822b4634bf745f4d9055465979c5d0b870b5c6838cf1ad0c25d77fea7952b9328e3bb206169864a594eeb7743ec75dedc43bda19c8cb16569e1e76a25635db22227f75bfa333ca9d3ed4de649f446155fbd1046584a428a907f6b0898ca5c79088b75f08b184d2a1820c734da6305117b03111f81c13d92d7be9e8c75cdccb64be5a89f9af0693cab34017969c33c139a5ecf084cd32b1c3705453b9d09ec925198b9ea21fae621bb51a52232eb12c3d690c40ff24cb5714c0e4f29e28d34bb37d1b558d74b16e25ce4b7cd2d6e4a14fff140089a8c49e8339f2b32c10d4f0e7789c59b8350a866c6eaaec0fac051b67a51fdb5f449c56c6d013fe936c1ff6008bc904bdeaeb13500af481de5336fb5d829fd420009fe75cd3babc49711a102c8968f0d71f21436ab3612608ccf1f98116fdf8978f5ad0cf42208d51532c3023ec6a6f7f2f6cea5c35e364cf6823578b5fa7ebf4a42584422ea5d4035d9efdc45a37cb41a314d019c79066333b4e70421c92f64c9cab3a88c17c492ef6a08ddfd58919d4bf5c3b9105308bc24b5ec2ca76ad78d4db46b0cf4297e1ecb5cbd0d6c724b2c06365b9ef4bd636409ff243f3a6cd6195ed038952b6a3df339f8c96c7df9f4b1b3512c67bd7509c644f1ec562a954ff232ae04fd5124666db512f35dc21c05dd2bb3c80a0235545223618f1b09045729241d20d561b710be7352c009a70eccca392a770e8650c613d263cf464fc0925891ce9ca5b23e010047f3fd1722aba4e491da128f3e2b6fc16c0e86401349abd28b071d18b28efde1da0e49ea5882e718fb5d8351cff0690fb61faf52bdc699a46e86f8f22318e14c3d42e73d9b6a6dcaa680373159775ff4ec92e566d7a21bb57335120f6f1467ae085f480fe7dce980ce40050ce7678f188f6548d521aafa2e2a0d6b2d9b07bd3e2f82780e54aeb6c1b08a5e4efa321fb80311620cba7cb8937648b0fc0e6fb5fc2e56683ccab06d51319bfa50b5f2af18664f0a346f8f198682e0e404164c017f9401b8283bd334dae2abeab021629dc020f1368dac811452a056c00f1f5760f16c1ff3e0a3b2fe79241a4edc3706e943998626a69a6b1ebf06ee9bc31cc57ab8a1071f071805296993b8b0f98a79fb3e6e8218fd0862a43f70dbb2562e595e30ceab1d0dc9d8d52f33236dd3f3515fe8a22bb4b44c4", 0x1000}, {&(0x7f0000004b40)="2c0c9e0630fd99fd1a58fa80f5e0278431fcc09916b26c67fad08bf5788bc6dd49506046cf53be7068d95ae0d66af9da7976bbd358184f47d17f7597fb76662867b5cf92ef04ca44b4277779bc8a2ed24e8a32e7bc144a3c054fb2e08c35e011418ce712957825591f2fdb7b03730d2d4b34a5d7514d2e9b1055a99f5ea15272be54486688a959e826f2d078cf11c657c46a9f4571f083635803e6f930350729f5db8ded99f71592cedfea2ffe7bd1a990be5b4bc82b", 0xb6}, {&(0x7f0000004c00)="04f2e4d89dc5d595ca", 0x9}], 0x4, &(0x7f0000004c80)=[{0x18, 0x3a, 0xff, '4d'}, {0xd8, 0x1, 0x7, "7f75c17a8a6021df0d7b04151dfdb091e4fdfe348e5b49b82ab81925dc616122101f93c5408df9b141fc34b62255bc3091061f5d9df40312923abf3a0ebdf7891b69436efb57e37a27b7eca7cc42b6afc7d5e37e724342fdcc6a7f59cddb8e7b9393a94b4a02e4c23635f02b7024fdc56c061c009dd2cf9880002c3ea95254e357d01641deac6475d0d81f6a7828698669e04914b4a27e8894c6ee87769c569dbecb407e6c2b971dcc2db48f9153276df6ae37720f22bedf79314f3cb444ea2772f4662e77"}, {0xf8, 0x0, 0x492, "9d510fced9ca310e957846a8efaa91fa88b33534a07f424728ed9c158cd09debaeb0de943bd556ce58d707256975223ba15afb2f4375c9549963fc162b5892cd132e9f7f258c774abb108a187df8c5c2d70e036a348051c0c741791863e79d900aa26138b204fd68467b9596208cfc6e1b8175091acfc15bbd1c4a312a803d4920b5a4ce7d94fe832d0d9f0d369cc9e0f2bee39ea4d429d8e0d8543029aa791ccd86c6e0298a38f9c1c058ab77b5e961522332289fa402cc327d1a84392a47340bdc02130178c316e238d2eff66ea1f44c46299a75fb72d246052ec8e25773c0969844b639"}, {0xe8, 0x107, 0x40, "1f16ec42a112c3a9bde576b42e0174564442f0615eff640b81d8cb3db87566c5ae939cb5ec60a934ee9875846aad0507b6ff6ada77d18f76c3fef2be2b2e3f3d206e33dca15eff2740fef9f5e2443401f91f65cf88e7b9d8fdbbfffd2489c8d43c247b0d13266f604ede6902acf74193809fc1c680487c77754b7e0b47c03a55df382b2e566b4e0a7a41c4c06a96ef3a3c84a96dae502a16b8c42006c445bdbfe12f2f2f9e730cfe3123bd0ae62eaddef1f371faed8c5490fafe31918acc893b614c076d233b79f5f6777a0134e57a687180cf1c"}, {0xc8, 0x0, 0xa9, "629e4e4bfe6be5f2ebcecedf9e32ac1d68ca30c59cdeb7f83e3cc55efca371d207543fe48fb91d02b9e55d3e705903eebba3f01fb4be113a92c3d5fc8fc9081259456d86219dc5d4d03d2bec51f4a73fde460ec3483e3475f56f22760e12da086bd047346b9571949dbd2a538f46e59925ed74937e569b80d730777db23de00ab728672796a81f492d8b548794e82e0a2619e40afe453e22bbe7a7f7cd1394a77ff4c9b53f4109c7716a138ad74fa9326eea3473"}, {0x50, 0x107, 0x8, "e3a5374a356bc71f3703ea8e13cff079999159ec5f6155bba7e92f1c884aa1b5d0a805bce15c27f24bad53950a1361182f1bd62c9c99fe0b6b"}, {0x18, 0x101, 0x1, "fc"}, {0xc0, 0x111, 0x10001, "807ad417431dc8926a691ff96ddb153bfb8d1027adce69710790d81791f588a61d8d9f8e1b200d19f116c3793d09b625426440dfd619bf58c1dd6d10de5a35ba103d1d354880889961dcb708101be2bf959c8b2570a83843b106bbfa9eea5865869b9e0414fe6eaa182001b0bd5f58b895836d450461d520685f2a9516ed31e03f5561fc6b5789f5a88454af631fc54d5d94cfd5ad81c0eba6e856a97f1c7b38c199ae35f4348fb61298"}, {0xa0, 0x108, 0x8, "596750145f844d04230b958e7e18a631699b3b5007f0dbe74a13cd140261669611da6e68e216497dfbf14c4eac123c865ba323a73bc824c9e0881ea8d96971b664c8c85576b996fc374e4e029deedd3e8187e849ef08142d76722ba6ef3d39b647724d67057667511c2be6fc6aa96b011a1fc957fd5b20d315c3871372a7c901da238d31556b0cbaf1b80beb0bbdcc"}], 0x560}}, {{0x0, 0x0, &(0x7f00000053c0)=[{&(0x7f0000005200)="56e460c7089d656e73db6c8046eb6d", 0xf}, {&(0x7f0000005240)="85e7ae4d8fdcfe66bbeb0c86f03bef4381599a8ec9378ef0dee8a4b78bacd2065fef2db85ca651275e65b820e65bfb220091a6b63af2989ace828cf54eca79c1809bb4136c8c3cdade98f5c0f4609b58781f8e2f56412d69f66a5fca004baf556987f84d2f9ca3d6e523d7bdec9537b5c481d549759836410e59ff445a99357c2f6fdefbfb1f297b4ba10f20ad8a9dfef174c905e0f52c06063b9be42c6fac333854b8d7c7db4854a629", 0xaa}, {&(0x7f0000005300)="7b3adea89ce38831a8d43813a949a7204cda9728fd66ebc438492a98179c2ef5513593f09bbde1b7a570664d5d4211150451f02ae676dbb62e49d3669bd92ef8bdd861964789bf098d0cbaaa2d", 0x4d}, {&(0x7f0000005380)="6083083684a9b21ddf438a1f8a49d955d6ab4518", 0x14}], 0x4, &(0x7f0000005400)=[{0x90, 0x1, 0x7, "1407d577e141ab57d71c0bfef6bea9a2704c4368a553fbc1e730fd782410e1c4c80b015bc760c7770fcde34f0a26562a8181d19b7e74a90818624a87d13871fb1c96f66378f3b6f1df327ef5d80ae3214d5f13c8e0b1e2b20ae8da46f8f8264bbfccccb2b3b588caf932ac66e2f4eddeeee4df4f352c598feffe28cc61fbc695"}, {0x50, 0x104, 0x401, "ca51f6c4ade09c3e9ebb55b04cd7ae0e7aec29d2c83e01b4317107494f06a1aee499ae1027c2e13bca7bed259fdf3b728504100c9bb28fe2e80b8e"}, {0xe8, 0x111, 0x200, "b3041fb520a0ff382e642fa5b254d498e5958c5cf86b4a3b311644351d75b17ea8b050a25b19f9d191d7b0dfcc3efd614347fa54f389ee413254ac7be9a0e71c98fff4b45220d9f72e8c281314af2a3dfc73915eb98e9990a4ae861f38a828d309f82dce3a537b4e2a3b78b2a3d5066980e80e50a86ed44d570ec173613e9def91f1412b44e1be1a22ac64b7b527ac4f41803c5734d9694d9267df53216ebf5e7269eda82065c8b4395b30bf66a06e7f9463a1b8966acd971d8c565c62ed59660d3d4643f4e39bcd5a05cb9da61a166895"}, {0xd0, 0x105, 0x8000, "d6fda6093d8a5d5fa1f23f33e38c5732c036c59a17a0ea804b93338fad0a8c2758e7c801bbd0e8325dd4ad59f9116170898accfbfd74462910f8b1aadf90fd717b6ec73531307ef485d836900fb49daee5937488eb85b1116ec0cd0214602e991f25ff9fc459d64c83436ab0cdd9cbcd9374b523fd258674d15d85e5ec754572c7bb7d1e6b7338c78be9c2e6a341dead7dbc160d11c572059703914e5ee8ed68666b322b3ece815fa2d49c4188681314d1d39c980361edbd11e0550728016b15"}, {0xb8, 0xff, 0x7, "49a31b2c6f1b25d23064b8ee4818bf5fb25b40e77109fe080caad0f8b5556955fe5178f8e4bddf01f33723266190a564e9ecea062ddf48466e7f63e16078f37ef2b2422c543f738c8571036f37c44196df1e22c76ca667ec90548916c8b6e24659c870f5899a175aaf42a51dcb23fdaecb7107d9ada00e44df7c48d42355a4fd2184731e91b1a2ec75108437d22cd91f8747b8d296d87860819a27cbc0249772d1d9"}, {0xd0, 0x112, 0x2, "1bc7cd6d9048d9e8ab7ed2b329d6c4fd5eb4d80002373ac10d2b075318758ab6af6addcf1edf5c55bf865dcd5e71260b9704dd48e35d8d5b4a31b061c025b42d10b4b34e5086e26f85ac13c687efb9dc581b493af46ab6523f688886f3358cd8f57b90f8c2814b44ff791352a06bb7343c7253371155304750f1f20c59b518a5450c642ac95f9015e876ae212c3819e141843c0a1c9e1496556e5f859ea259cc2ff3e0d2d11420018bc6a86035a6d6cc23701f725546be90470109"}, {0xb8, 0x84, 0x4, "bcb6ca5b96d85e9da42540ea2529c84b728c1e42422bdb9dd90379cfa9210b7f810d00de68af49f6b29be297741f18526bd30f04560f3efa983b124c0bb7ca017ee42aee47f84a2c6e986aed789b7ac78a5a3b5934099fae264b0a276eac8aabe2c73732899ace8949a608aa344214602e93f903a519d2564af6d81c05c4ab4af7bdbbf56a56af01857e8b7993f81dff1d60ad3d1820c9ea85153f502979ce20e0df"}], 0x4d8}}], 0x3, 0x8000) 01:43:03 executing program 1: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000480)=ANY=[@ANYBLOB="b702000000000000bfa30000000000004503000000fefff67a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001000000b7050000220000006a0a00fe00000000850000000b000000b70000004dc50000950000000000000089c81f20273d16b72eb83ec5a3b061773f04a2082ba8cedf8510e63fb112cf6956e09d1938ef3b217e0f6ae30bb8179b9c136f029ce53fd0410a"], &(0x7f0000000340)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffde9}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000380)={r0, 0x0, 0x5f, 0x0, &(0x7f0000000040)="a663f3cb2600805724bcbe848a", 0x0, 0x3fff, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 01:43:04 executing program 0: syz_usbip_server_init(0x1) 01:43:04 executing program 3: perf_event_open(&(0x7f00000001c0)={0x2, 0x80, 0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffff, 0xffffffffffffffff, 0x0) r0 = creat(&(0x7f0000000000)='./bus\x00', 0x0) fcntl$setstatus(r0, 0x4, 0x6000) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r1, 0x1, &(0x7f0000000040)=[&(0x7f00000000c0)={0x25, 0x0, 0x0, 0x1, 0x0, r0, 0x0, 0x0, 0x1}]) 01:43:04 executing program 1: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000480)=ANY=[@ANYBLOB="b702000000000000bfa30000000000004503000000fefff67a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001000000b7050000220000006a0a00fe00000000850000000b000000b70000004dc50000950000000000000089c81f20273d16b72eb83ec5a3b061773f04a2082ba8cedf8510e63fb112cf6956e09d1938ef3b217e0f6ae30bb8179b9c136f029ce53fd0410a"], &(0x7f0000000340)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffde9}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000380)={r0, 0x0, 0x5f, 0x0, &(0x7f0000000040)="a663f3cb2600805724bcbe848a", 0x0, 0x3fff, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) [ 1146.470760][ T3534] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3) [ 1146.479327][ T3534] vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) [ 1146.490004][ T3534] vhci_hcd vhci_hcd.0: Device attached [ 1146.506158][ T3535] vhci_hcd: connection closed [ 1146.508778][ T3760] vhci_hcd: stop threads [ 1146.520158][ T3760] vhci_hcd: release socket [ 1146.525774][ T3760] vhci_hcd: disconnect device 01:43:04 executing program 1: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000480)=ANY=[@ANYBLOB="b702000000000000bfa30000000000004503000000fefff67a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001000000b7050000220000006a0a00fe00000000850000000b000000b70000004dc50000950000000000000089c81f20273d16b72eb83ec5a3b061773f04a2082ba8cedf8510e63fb112cf6956e09d1938ef3b217e0f6ae30bb8179b9c136f029ce53fd0410a"], &(0x7f0000000340)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffde9}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000380)={r0, 0x0, 0x5f, 0x0, &(0x7f0000000040)="a663f3cb2600805724bcbe848a", 0x0, 0x3fff, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 01:43:04 executing program 3: ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000f00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_io_uring_setup(0x0, &(0x7f0000000240)={0x0, 0xb201, 0x0, 0x2}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$msdos(&(0x7f0000000040), &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r1 = creat(&(0x7f0000000300)='./bus\x00', 0x2) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) r2 = open(&(0x7f0000000200)='./bus\x00', 0x0, 0x0) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r3, 0x131fb000) perf_event_open(&(0x7f0000000340)={0x0, 0x80, 0x1f, 0x3, 0x0, 0x2, 0x0, 0x400, 0x8828, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 0x0, @perf_config_ext={0x7}, 0x5202, 0x401, 0x9, 0x0, 0xfffffffffffffffa, 0x8, 0x4, 0x0, 0x7164, 0x0, 0x80000000}, 0xffffffffffffffff, 0xe, r3, 0x1) sendfile(r1, r2, 0x0, 0x8400fffffff7) 01:43:04 executing program 1: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000480)=ANY=[@ANYBLOB="b702000000000000bfa30000000000004503000000fefff67a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001000000b7050000220000006a0a00fe00000000850000000b000000b70000004dc50000950000000000000089c81f20273d16b72eb83ec5a3b061773f04a2082ba8cedf8510e63fb112cf6956e09d1938ef3b217e0f6ae30bb8179b9c136f029ce53fd0410a"], &(0x7f0000000340)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffde9}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000380)={r0, 0x0, 0x5f, 0x0, &(0x7f0000000040)="a663f3cb2600805724bcbe848a", 0x0, 0x3fff, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) [ 1146.787720][ T37] audit: type=1804 audit(1641433384.682:778): pid=3546 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/syzkaller-testdir305824486/syzkaller.Dm8Uo7/34/bus" dev="sda1" ino=1147 res=1 errno=0 01:43:05 executing program 1: r0 = socket(0x11, 0x2, 0x0) sendto(r0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=@hci={0x1f, 0x4788, 0x2}, 0x80) 01:43:05 executing program 0: syz_usbip_server_init(0x1) 01:43:05 executing program 2: recvmmsg$unix(0xffffffffffffffff, &(0x7f0000001700)=[{{&(0x7f0000000000), 0x6e, 0x0, 0x0, &(0x7f00000059c0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32, @ANYBLOB="d1ff971bb2312a3ad376e4866f3e1eafb75d253797849a04e8e1016c51c7a42ab9494bba2f99069f5364921144a080ac4a03db83dd0831aea1962976ed408f1cb198d9c4ed941ee4e3d0d2ce962d2f9a460a16b3761f74ac173b41891bb49b873b97cb95c0ca87d0908a12b53678bafd8a899a5b00ba63f2c32813bdc1ae613f51f53cbafa21d3a6d90bff36743340b66b43a09283ae03c82e52119272746ec406a2a7"], 0x58}}, {{&(0x7f0000000440)=@abs, 0x6e, &(0x7f0000000180), 0x0, &(0x7f00000015c0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e4ff0000ffff00000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="0000000018000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYBLOB="300000000000000001000000010000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32=0xffffffffffffffff, @ANYRES32, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00'], 0x108}}], 0x2, 0x10000, &(0x7f00000003c0)={0x77359400}) perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3179, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf315bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000002c0)=@newqdisc={0x74, 0x24, 0xd8b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@TCA_STAB={0x2c, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x0, 0x0, 0x0, 0xffffffff, 0x0, 0x0, 0xfffb, 0x3}}, {0xa, 0x2, [0x0, 0x100, 0x0]}}]}, @TCA_EGRESS_BLOCK={0x8, 0xe, 0xc0000000}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x6}, @qdisc_kind_options=@q_clsact={0xb}, @TCA_RATE={0x6, 0x5, {0x80, 0x27}}]}, 0x74}}, 0x0) lsetxattr$security_ima(&(0x7f00000017c0)='./file0\x00', &(0x7f0000001800), &(0x7f0000001840)=@sha1={0x1, "c9fb351f9a8e60285327968e08e67150687e6a6b"}, 0x15, 0x5) sendfile(r0, 0xffffffffffffffff, &(0x7f0000001780), 0xf8ee) r4 = socket$alg(0x26, 0x5, 0x0) bind$alg(r4, &(0x7f0000000100)={0x26, 'hash\x00', 0x0, 0x0, 'poly1305\x00'}, 0x58) r5 = accept4(r4, 0x0, 0x0, 0x0) sendmmsg(r5, &(0x7f00000004c0)=[{{0x0, 0x0, &(0x7f0000000400)=[{&(0x7f00000001c0)="54beb2f7ef3eb17f8d9dc00c6b10b4fca67c8ec096bdba1d60365c0222266f2ac6", 0x21}, {&(0x7f00000000c0)='j', 0x1}], 0x2, &(0x7f0000000480)=ANY=[], 0x10}}], 0x1, 0x0) r6 = creat(&(0x7f0000000200)='./bus\x00', 0x0) getsockopt$inet6_IPV6_XFRM_POLICY(r6, 0x29, 0x23, &(0x7f0000005ac0)={{{@in=@initdev, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@local}, 0x0, @in=@local}}, &(0x7f0000000340)=0xe8) ioctl$sock_inet6_SIOCSIFADDR(r5, 0x8916, &(0x7f0000000380)={@loopback, 0x34, r7}) r8 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) sendfile(r6, r8, 0x0, 0x40d0a) sendmmsg(r6, &(0x7f0000005900)=[{{&(0x7f0000001500)=@nfc_llcp={0x27, 0x0, 0x2, 0x5, 0x3, 0x20, "859952d14ec9ca9f06c1162c70947c156bf270ee11a10fa8700c80985ed92bd996de3f9e1fa4efb7b58a7fd2f17808d9870707cefa97c3ed10004fc5c5dd7b", 0x17}, 0x80, &(0x7f0000002a40)=[{&(0x7f0000000180)="cb6651079db205cd5599ce0c83ab510748716b4bbf5fdf5b814f8b2d3b53c3ec02e9", 0x22}, {&(0x7f0000001880)="67b3d2f6f2f623761799461e98b1d527950334d7aa5ea6ca9468fa2cc7b460212d5cd868d314f8fdf9fbc8c58afe5f86c58e7cb7a30cd1991342892d75c091666a75c01dbd9c3b0372233b02b2d57372a84d5bd70806fb1cdc63fff8018c0ecc52f89ebb3bd36155d480fc8e6a91a43e97f613b2922566da391ba88842a3a9bbdba9d15bf6d4fec9cd4c0e05bc0aaebf81443aa56ed5f549bf146c094ab55eb41aae1494ec6664e8604996d7be2b860bdf0a9f3dd6ccd3c1f9bd0242032ebcd5c1c61d287a14260cfa750dd50c4335ab7fef5a479b5139ac381af99c9a10b2baed858de3278b7d838931bebdc7c802876713826c5ff1cef858269625dacb6d476f6d13c33d8d2124cfccc92b68cb532fedf5acecf9463ea16c958ab506b2cd1654f2d0fb43f0c384dd49e56f6000a57be6e6575c7d05ba899bb1b6abe3e6406d84b6f0137f553f4dffc0f99a47b4267b64713a6f9bc6f0493c5417d9f00a0f271eef0c83a8cfda08b883340f399be00e601a3099f66ad8d081a1e06fb73c9a165ed6614757c1958488a483b027b7beedbd5e129e38ff00b86e866f5fd4dd049421af83786fc7a481ff3aedc45f6dfc592e3f3274d1c76ea5da48669e3e15e768c12cb5a1c78421a8d0861180ba9c327bacf3e7521233cf791fcd6479a1d2db631901ffb3766e948f8e222529bb5ba5843f86d85e32f0551d894a47eb2d5b4417f25a83707e0101766865a72e83b4f747dd4dacb2e2e27dd8d95a4b9b1de0d42db6f5fc7be7900a2bb16ce4507ae42e7f38f6efaf6b8d5596f1ff154bc1679d5880b33cf02b8a8966dba3f928162ea6a04cdf383f9fac919310ebc3e28289c68e2f37672c65bf3d08e38373b08ac632a52a53c7b7e24f9a6e70b2b0fcc499bd0d6a388304aeef68d1cb49676a6e16c25fa5db8d0453285aa8c612d2f870b91e28627d7ccf3a730272dcaa8922344750ace17c878b7f6ae480e4fe33ee516e394f51ccfb6e47321d4226d6d6d12fe2547f5fd5de47c72e5e5bc4780f532364570d257d4fdd2610fd9cc62dd321834f925da853a76e896cb854a3fb2c70de190fc032541bc4c497d9b6661f220616b46723229197593d52c3fa346ba7aa5d408ab80dfb7627c609ee774de72f58df528b531d113d98cc203d4246ab097e612d9f1c04c5da173ae910dec7b0bddc14c4ee056c03209ce1f982e18d72c8d4f48476150d60a276cdc0d0615fd9172baed6b9b483db246173a360a99d6d38796358dd8698fb4e0aa7a5d377b8562211fc6a14a3f4c19500096878048382f54b51af84461695ef0c5a92765a69c0ac19ac9734839a9dec17962bbc3fc7f383792c446e6f9cee002f5b59729c04190e6c8a317c9a698265f1d920039ee406468d0dcaf9b256c01c35095db3e7ff4729370be251146b371b87dc26c96c23358da7fe87e3b30c2bcc16352dedb88e91bf8bdedb733dff65c8ec8c333cb3fecdbe601cfe1c2950d7335fde5efa938145ec62468fbc36acf54d885b95830e44b260d02abbb6a5551cc4b30761b0cc656cd4c4d906b2dfa3dc230c0890069a290f9bea3859dce15fef749f9de370eb4634a04c89ebcb5362ba1285584a99a9bbaa75350b820470a980570bf27ecf121681beb35e91d7157d87aaba98fd3bc577cda1e4789ac2955730b2c08a92cf54a77daa0b7af74fd0264ed58eb9eb2587462ca22fa3732563ba01ca52d6d334a0c23aa40e405ee999c263a5e27ff5c7e24fb416d305483ee7d2ec8613e041f2cee84c71b4a4d02a9e8ee3c4705e64067af9d13f99f0290bb491e70756fadf99a516ac57c2ef4f34c52f93b74b8119add2b6c18011f9182ac50afad4101fa9766289d59fed42707d7bfe2f1ffa8d3cbabf0c909910c69d9de1b3fbd274995832493c18d3e420bc185ef8fc8a4d20c0b554c791dcb3dee9c7e433bea1e8a3e1476cba4b16b19f9f7dfe72f749b1f160dda456eedffe8c13a4d84ed9e2d88f47c2e791eb03558897d52281e619232c2fc115be1f001fe0feaddcdb589ee5a3a9dc037534aab6a867a02e9978cc94b90d745cc66f519f8ff00c5d30c9c4a34f894d85615e5850065c27a83fdf633df5377cd10efbb307671de58194116e4c87526d803972c5133d1aec32a967ed8f7c59457550dd97c263281740347df01e03d5be6f3aa5ebec3024aca5517eff9d82b71f6099992684065ebed1b32fc312a5f4b6b2ecc52e0b4276b2934770ebad3022485a69cf62acb83b23d33c1b6529574123b90635c7a4f318b10819cf82af9b62c4557ecabfd26c036f2589c513c07b0e7844e5871dba8e5227c64afcab2d1ce095463a78ac33b0bbc8cdd6a5562710ecf45ee94350258d494950ce9c613d6e12560699f1bc2d113e3c2b3e469a2185dcfb278193e4da2692dd50b9ff64a776a9430513101fe20f8448001e0d176a7729f8ba9167bbdb8b5b436f18424f1dede8330930d79364d30accd12996ea55bbc44a9252ccae12983e3363093fcb064ac318e54eda563ead00b043635b2877214cadecf2fbe912b9b3f83e8f090baa0a295c059cdcd48e60568867a71bd0d570b657e29a3da867e3f0f88135581242086dd7056702993353805d8480ce84ccef23f130a7da84077de2dab2b7018bc48d5dbb1d8b46cfb7ceffcc43f021267d8f3408db02d68daf21a0c89fb8401095da28e02f06669817d2b81731c11f0dcbd792431e1bd966eea42d37c7fdf6a0e464caab00ef835316c32a2afd4ca010fa96a15b931f6cd5dcea2a9d3528c993bbe13a30c3b85e46c2c3ee77110f5be70888bd16fd5129c2be828d83bbf768bf08cb54cd4ea9706548ee2f349248fa1bde65afcfc4f4332c1bfba92c4eb842ba16847dda08b253ec8f10461b0ebba8256eaf26c68d19f991fea64e2f49bb2fefe18496a8735c449b7902c510280754ac5a3358aebd63f52ddaeb88fec7460b59c60ced8765dd4e450f85c8728c92a3a5999575ed10772d15d64e3fb306ec6d5d01253598420e3e9de72f94230e2fa81f8e994bcdf5c3773200dc7aa41dc2efbfa835ae94a275285a930ee0727bcf7c53b68990dbccf43471da8d844c5fa2adcc3eee1fedacee7e861e2ac80174e2621ff8258884b136b628462e753344ccce50ab5d5bf6da5dde3f42e05a4f26fb3b8a0ec9597f164ad618d515eab4c20eba8904e81d035076fd5d737a4b5b5a614e90d0f5bfb3b792f996f2913880022ea9378af0bbb669b6b1613e5a38d46b9453633ff280a45c9c962d1321ed96d40d1f4f9b18f22cd99e39dba183ef4e4e57d39a660b7c513ada171f26d44634286b56729a436761de94f65900e5b859275e3060158a5780da328b60dd4eb82b7bcb5daaef5dad5b3cebcd6bc3d7fe82166214e57f4dd3218b3df851569a28d3b3183b532ab7f6516ad29706925665e24c3993c4305f8c902fe01d903e840661a7d4e1be5b23619542cf8d68c45beb09cc2d2679bc61df50948772850401057ab9756e26ac56e0a50ff8056ef645fab92466f24ce0df6536f9b0ea8e60e2a9f908670bd06437a988857ce2edeb8d2c1c76e11b8660962c3c1e2adcec01a1b21358500132f49aa1c0a23be510591dbc35cda33fa4ce2b4c4fd5d68c8e4b68f76efc35280e447a23435cbae359f10199ffa530f528d7582ef07d0361f75e2e06aa46b617dc65bbd8cbfaaa405f0e5609d87d238735d74a132b5611c11255a91206116a1847e5926560322d1e1a70236ac7e723f0cc5915233b74357ccc121106483e4652f66a15f6477ecfd871531cab51da07c596868266b3b45f0072f11b542d28579259d11de7f26e7d252d1506f693f44b797b54d110710d6fe464b6030ff2f53a8b279ff1fa215fd3245ab5982514a96294fcc0f824d569872a054b71ea187b13259b818f7407ab220b7e9d415525c984bbc25af412767db9edbd7b70da8bbe23ae59748083d82b9cb1fb17c9a226f6bb6ffa577d1f52f659632c3ecf5101019cf4ea01292226acb415ce6ea5b71e6938c037d79ef93a8e33d3b86edcb65b0d60b9f911f55c7f667b60d472aa89600b9446e7d1246f905df34132f146d60b07275b112593017ce20772ff6d8d7e7e9a64cd573a6536c1fcc95b323c5eba3ed507728ce44c41fdd9ae101e4f0160559f11e0b801e767302295efff469951d3bc317960daeee44448abb80058a9747c8b59b8a7e3299dc225fade027cce32725f52f569d8012c4c5cdbdba73bb58625540a1f0b747313855f57247bf5dd6bd82de5b5bfb4b6498ea8018dbd5bb05337510ed855fa0e20a3e7c9b24902a3a2fcf9aa4317e5bb8a55450b21b1196779a6b9e59c6aba53d117609e22b5fd1d435c9b64e21c5038232f4afbc8597239887567f4e8d4ca675f1bd7974376b0179fbf867509246e80267eb77121bf469bf82c3d28e619903d327ba94368627524bde2b10dc73b8272e512cb43039a50ad7ca3ae46cb293c71e2d7536e95be6764fc7bb4c27211d15ea9937ce0234c33d55e606ecb2f4ae5133dbf013ba56f4c56aba70bb7ed4574dab261db62f5fd554f72cef6446651aaed1a3a560abe0eaa6baf86e6a4a09d394989d0f043144e26e6961995501e4e7efb3da181d9a7edb942fdc46ca60089216aba915538c97797a02e46dff27c3c421a6afeeda8737ed8b0dd7c8fe467aa72e2018e210cf7c850f9379747732597e9f62d97c42a70d8b528596fe0440c3c5cb47530ea84f8d74e2231edbf3061a215740e8cb6750113ca5d5203898c8f69633f6f0b3ee316e0b7053c69444137641981f7a438a42f9d2f2127b750eb825b9a14155e185a3f802b184ab39d21071eb8a1c5db6c2f70426aa2ae7e40a230cd525f988f8c693c04641f8365b474f949afcb9838c650999228ea316bc128c540404193a33b610f181ad6b6b73b529ebf6ae46a10541c94e6442c5b79f551558ce4ac6afc42c80a2b9b29e94aebb4fcdb03700a859a4b7651ade1256b2108dc039bc0f9174f92f8f7ee1a979dd64d5f0170889adc2744371011e874eb785953562b265fb3a9a6a9cc284d2d69d6488c4bd310a52688ff0f7396836b96e93cdcfd9916428a729fd1ab8d3b4eae79005080af6f3ad5880effeeb5bafa5ed375ef16595f03b68d43335cc41e95a41262e18a7883e357d5f02d19845a02361387591c1fa3d73caf5a564804a9c7e09cec563caf6b2b76fc3a0f3c9d6f75e618803d5857dcd010d73488e37cf21715722876fb35b27b6f27cfdfec1b04df09dbbd9868cad64a4faae80fe02d21176f94a841557d72bc3ce7a3c3853cd7b968c4028e21314ff6365458b7e594c0cf09c0c17b92fec783bd6ad886729098a59e0c5ec6ce39ad038766bd98aa270b4194365052c117d87ffa52f502454d9ac1a354c492d4db23e9763e1c418d5f83b66a30dfabfe434561b5bd68b45437d7d3130d77e5c6945ce0956a9d4e36592c9d01e7078b5bf9d6b7c4641a8d8bee8b00ba55798971eb6901900d5286978ee400da514fb23230c35df15f01c20b0ca19a2588790d536d79110464ccb87d12bcf149a9391e42124c3b9b6620320c705e18a825a929b3f1259b16fbf5125e5ece5c3516792353cc65688686d8485340cef5a1a10192da3aa4beb9523db097f2586d234b1221b2eac17b82f4d9853e0155d8675b1603db6993d0d5972623ef9d878b5789cb2147c2f72b6265c49b2187433e10acf18ecdf296560f26a6dceb9113fe591206a87699d1e5cad7ff4fc094587703bcfc919203aa7cba5c620d1c1c0451fcf6", 0x1000}, {&(0x7f0000002880)="b846343e92d30386b9bafdacbc856c8faaae41a37dc793507d2122bfc80952e9369fe27be1e0eefb177f98be09c30b271cf2ed07575c117ca58528d707b57afafa864628d44562977f02d07934a5a6dd588f76079708cdea59390a706d15c5e064129f9a0373404f017e52db868637b75855d6ae3b38cbc047bf0d91a87629d9232cfa2425fbe3c718592d30aa068f7cb2d01cf5cab9340c72d5730703838c0a5d1dfb93aa7f5635f2f58e81aba52f4155c1fe2bdc4b218ae8c9367554b153b3469509cd0fa762c05e136da3d7c723792393070296eea717139f58b03823ecc3806d067edf0693f8ef711dd917ab6f724de3218fb2e6df7de2abc80cab", 0xfd}, {&(0x7f0000001580)="05c0e7645e1fe74af4d56c15ff84", 0xe}, {&(0x7f0000002980)="ae7c899749b8974688c4bd6d37186a572e6cab7b043923e923bf2e1d8ed78b963a274938798a15075913cf0f5c8522ff9bed3ffc59a15e1666297d9b9a89561de4fc844516d2c11b366d0058df", 0x4d}, {&(0x7f0000002a00)="b944346f4c5c05c12c4d18e752db5a3d45a7093752aa997b9e7f39e311e2318e101a", 0x22}], 0x6}}, {{&(0x7f0000002ac0)=@ax25={{0x3, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, 0x3}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @bcast, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @null, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x80, &(0x7f0000004c40)=[{&(0x7f0000002b40)="c541ad0dfafb8111d6f9836f225f6063fd69f1e43e38bacae7428e915d654b0f5792e800715b1e7d6545d8e2ac05c22105c18fbb48831cfb1af0df8b1a8ddade42e8e50941fab2cafd27683e2658bb8f9e86505c9569ec395d5934c86616693825e0d2ba132322afdabba2d6957f8a810f85d17f2cf5e121cbd7ac7811e24d326b40da849871affc050a01ae3d935258efcb37e77cd235c504705d7c04fe48883a1e6e7f5ccfcba0ef88cd7c5649a10a76bd6268631f711f98429c52228e57489c8b7c19e22a85c46f4d98635dc2fc039dda27e4ec15213a3c11fa20c088e9254ec218145d88fdee39fe237b177197da456940741f8118862ce29b884d914dd84312757b91682425399150b7175983c4761e7bb87d681046f13b0b220926d3a0b2fee844bfc5bff2823f986540999d17cf9f51f5921ad148568871d206d100a6e81d1bbdebf28aac77ccc0fb80e4470feab4be5910457d3ed45b4463d2d1d812c5907bdfdd400e1c7ab31b32f343618ac20da9083067d576622051aca3a526ed426d983e2304bd059aef6bb47aa8d0f5497ee03335d1949bbf8577072c1d99e550de3d54c0937da43851547e0cb7e528051cca368b08ce1caff449b4e0b56989546a93cf7d63a386d4e5f119dbb9d810e0e31441d750629e2fc67b040fd9c7362786fde71209a4f9c5d24b2169f802733a561b2ce36ce58311399a11ba14cb38385cd069f2bb1ca1dc4ac6970d92a7209a5f48e27bea47c80f5c4b95ec87a5e0c9384bc8d065baeca12f80b22b40787d3a2e9d677ea2d6a1231050b29f086261d11be8cb589d4db95d99ac2eda7d7d921894364f3d6b4fc36cb8dc827777700c5098c1b9549256543758ca67c33334d67cb674ba18980af55e094578983e52b91caa0e1b644ee53abb3a03fdb166c72caed229e0c23fffd7f5797a8542558712de2f88212ee89c92c328c49e60e8ad386ba13bd2bdadccdafe6d1abb9475ef0b09d8d7dd59aeb7a8d851cbde336b37780e26eabfc55f856f5e815d02fb29ec4451bb68adb2864c67a83074b9986131b7025e6d79b948cfa96a224f5020b2803c92a8d578fcae0cd40bdeb5f15a5c1f42f69bc4348863dab4e4799de82665db44ac17782b0d01aeb615a8c0a857e88a43baf11c37def2a0f6fd9b4f413b1465c63f5342faf07b9010a0478b672436e3a8cb118f074c70247a9cf922f9bf2855c1a48d0fc8b762918954bc6ff4dbfb3be72acb513f2165d9478f437ad48d96d4e6d464fb347fd78b8c35f66e8511355522596ea0a03636963bc22d0c0acfb10cb04aca9014d34dec77a4b675fb6a896472c69c889866ab2771ee078b976f39fa72c8e6801912cbc9478e19a00dfef6ffb119b3e007442f241ac929fe6f835a5879e6a7650dc382641f5fc935d8abcc1f35c231ef9d7f47220ced2038a1d6324682953fb22e0d36ed07fbbea15b0706da86595cdf6180cacabcc9549296a6c3e673ac896a42982ce9ae9ad59278a2ff75bc27c058507b6f9fde7d91adcf821f1eb1c9b8d82f4083eb65c949bcb83a3e88a01c5b7f2567d5ffa2493a58467cef6f1b049c7a81c2681200c56290308c6748ef20ed708ab2fe2aa1e59f515b7b81db041f759421a5dc527a7710f6a61405140e1572cb79d65679ae9c85a90d8e7497263d4239f93e83f0f4d56e5be7874d4425448119cd802310582f8139ec72da95b50b8856dd2bbd005fc9b86f4ecaa30f76293da198b11cc12850d392384b50b01c5c28ce45552969e054cc27afd64a86074c0f88274dc35a5a98d94f772e32dffd654b531d861bdae534b2be9989846ab223d11170dbda11eb74157935d0f611e35e303a390f3872a30e9433c601dd3bf59a974930a11d9c472ff8d88da28f43c7778f6e0bd6c8d6480ff14a4530b3d6201037329177102c55881899dd6bba7b1a49f2d37bd374a90a80fe2bb2a29b3166b7c9d003e59d1df779624bb79567abf50699187d8b61b54049a548a94406c496f53bad731445d34f15c65132bb7acc5461576dbcf5676619f627edcd44711c6238cd49856a63fd8cedf8681b0fdc0ee9b25349d02f11ac64149f7614e7adc2c0805cc77743040590a2448cfce59e8ae4db247120703da9f71fbe58a46da1720a8afdc8057bec652b0d61d7f661e2fbd1d1dc245c74393afe100ed5b90092a5a59aeee4bac9ad8cc8edbf492ed284f63399a3ea233ca5229f051422782cd0a72b973f377e6834523bcc0c04b7205957219cffa50db2063cfb1164d0835ac1c506f8672ded52f8d4c4684793217777356c5fc3653fc7651728142973a0e34541d477285354459e30735f1395d276880fdef0220b692fce4bb7cc0cdaeeb60a23d3b65fe994ec2b3f32d1f675cac862b88e4fce6aeef6ffaa9c99d27f8c70431ae8b0e17dd492f409af544e6d6abcb48d20feb34e0cee7d63c2ee7d28f48258cc2fd622defcce5ab2920466fbf196c3b2e135157d6c54957e7ca098eaa102faad9f56a79d4776eaeb467dc8cce71805c7b04cc4f607886be03b9a69495e44a6083f52eaaaa47f859269804afa48949647b02df1cb0f77c90d55805c0e14d1e1fa20703a3c9c40fecd7373974d6ec8dded035365848da8d114a708f4bcda02a761a4302526f2d00c60d5d460dcfeb639bf2a514c84b4082cde087627e11ca5e229593d7033411ad9518c3d8e5f4496f5299f05b161638cb8413e0793da96afb17da9753952ad86cb167bafa5997d7dfad19b62246ac05cc3734f241c3ca67e9e83c8c5815fe2fe235532b532afea46ec5e64da845c51493bff8aae80011006ee1a44e9cfb634aa0c74dd253935bd5c2d4ed3c9eea06a5e839afc384c0f3ff85a5aa81de38892b127e59443f2caa51bce4f0ff7c46393afdd03e16d6b9511583468007d964a616b86f7cd340384593b528fba939cbadab62ce9a708f65ee2f65656c80cf5680f137c59af990d59f4b35cc6d644e25aadd9e9f5ec32cc3bba0f3be777011c6a00790efd2108dfea1ebdfd79328055819b2c0a0b71e3aa1add915bdf5a1835064d6195f4cbc8bf55b3a09c15c3fd279470e63c7956a160068b143e20c0df3d30ca97dff40e4b0c4afaf007d31aa81b4704b4c3c627e08029f43e4200ca029011bcb93087db96b73eb31db40ae38b2bc12747164b6a5c28d2933088c1d58d2ed8a2ef79af5e9e4352779915cc0b67f538e603f5c341e90028ecc880000432b3828c959eb56cf2ad17d7a2b0e8a97688d17e925cc37e66c27e3be936b6fff07499f587b88c5830dbd552c6e55567b3cca338dece48e64b5cf706b2088265dd7199893468bfed0d04e8f4a6a9388cdd8a61bca491f8fa4884af5bef60fb1d7de22ad197c53072b5ffb354c0d7ec343cf724f36b5a4a978a513e2ec4c53ccc1d2af90120be748bbbdef2ae73d90b0d4be4447d176fea7527d7d427959bbc86fd39c4d56eb4b0eceeeecfcf690142742663cad99bab86fc0207e64ca152ab043fcf0d171114999b88bc7fdf2dfd6d511687441ae99739fe0278d4e496470d4754bf6cdb0098a289f9bb6d69885a27c686ef91655b31b8b7f278da022917bf4244b9a3bfb2197073e6837da5e69a1b63289c74df5008edda882f5396762679ae2ad66acfa1e88e78b016adc527479a91834dc5e23187433ad931ecdb40e02a3e376a004d4453ac6e20811a543300db4c547edbf70dce65f73a1d43e04f0051556f651c12e48a263bed1329ca293e6ff3e1e075d9ae9ba69ddd4a100b8828d769ca86598f7963277e9a0fab7a815380cf68d805af2d0a657d811ac1e905caa11802b4f458fa711e848380cc87835b71016858e79dbf63a0e2b92aa9de0b50794391916344e798cd8fdced25a4491a842c59c06b39221c867d46a29a103b0c5786871dd5a6afde6302bd582c7480ab0a0a6fe92f52187aef44e9004781a8a91a0603b6b929444f4003c33c72ca0afc31685d8cbe5782794150f31077bbe8e6651ef43a592d0fd7e48491c6e3714b800905d9ecfdb2e5ed52eaa183a9de4ee91c27c05cf0b55ce0e6e17e2ca985f10dec91346f5103420895966e486de3d434040effd70a7195c33b58a552f5e59138aac8dd40e4ae6ea7088cfe6c4f1201e03d5f677ad6fd913bf3d679b39dd6f1dd8f8b356dbf385ec24a73db92155d8204b95e4102613918ecf87381690e67923d567ea2637099eaf26b660832dcbbe77f78eee3922a7e62efd655e16c7e69b6f784b53bb585cf9e323058e11a1cea6a86e6a25753c28cf897a7415b39510de94719a26bcc9aec159a538bda927fc1103d31084433be9e06c867de32b8d0b083eb1e416ace9054d4cb4b430baa88141db50071386ba4d06b1c15ca0d72efa5b955387ca6395543c549d5e7fc65aa79b958c85dc445c7fe4b88764ca60eed323876afa31652c14be71497d85a582fd29db150304bd72f041db37b7c1aebee537ef0982cab73b65a79829dc387f9e96b0b0be6d59e48108696fd20b9a3ac3277599c72c1ad2d5d0784d575cc08668eddb71c1cc6f636ba048b0b306af4f6e7495d5e500ddc1cf96f087de43390c44a5d68e392c6e4be765523102e597a32fd05f957725acf596bd819098cb3a0f27807928e614f3c9444fe32c6b0cb678c949e3eea564f7a5c03ef965e14295b1c2256d88a5f1b565f24945e341ed70ca619031d823e99612bd17d02a7aa2008dc97db01fd2eafd3ce1277eda25b2730314ed22fa1e25a32a4a5c6ecf1995b6ca7832ab110dbbf997bdf0421284b933f28da2b24c3633846f498e0783bcc604ced9096dc537db35ad07b069a28185b14cd2339cfce19aebc0a2eb27d5e036f8c92a6d639e30e8c6705a1c5325e062f8a6a6a34ec1510bfc19cfbf673e9e8c23d4d8b806076c4321d9de3b9e86ab7f3f9b1eb80eba3ae50364839fd0c21a19eb361dabb7d616c50e4e78e8f3343d5898685aadb9613ac6f07c86de5fc2c9d2dc5c944fee637b7dad4a557fd140de006663dc86ae5221a97bcfbcca3c17d3a8c5d7ce916a2f7499851dc951bdc8fd195936a84b4932e09017ec7f80e87c99b2709e86101829671222b8baa346cd8fd8c8c87464dd386b26a64589db0a91efa3c424d1bb859164339adf4309e5d9433f494beb56c71cab3468b3468f59f75b42525bfeaea6856cca86c05929fa8df19ff191d9d1381fa95e781ea2450d1e66b24059de240efcf40521a60da9ace922811e17b375f2b725fb5c5bc48660f0845039435e4238db573d505899a467eea368ed02b80c4f60f19db85dee8cace8043114c288489313cd4f928664c56b1889dbc89a1b458ab158e18c39a410712d1075d836ff0b6e67ce84bb8174f04e21de640daf7409e9b58f9640732addcd289dae96cf51b808701e810cd77ff58aef1e82e8244c54775f30425b54b4b9e99c0c2615addc8ed9726f5eec0f51c1b1eb622155907ee5b59f4f0407c9764c33ef98c9d7e058ed8db35d5effea957d0775ae961c9d6eb59a3b066be95b0e3c7fc72be8e11b6148df7d1e50aa5b0c8c62abe4cc0cc3fc2076da7f02dd33e82944653ff22dcb1f99f11b0aa68b5936112f22c0e9c55547011e2d12972f6c027c68b67ed95b865a6e8700731f930a5c16a8f5b9b852b6f6008e7f0edbac99d6912824b4b837b61c15c1773c273ab00e583f3e6db57df6f6153584beb91045618c9b5b5f7294e3078ee3cbaa2f61d65607466190091c7eea3ddccf73caae7b30ec3eecbdf238d6678a0145f8b1702ebeb9547897dd39a5875062435521f", 0x1000}, {&(0x7f0000003b40)="0c7950909b905d0043a8e243e80d43da7fe16f4a48e705b95e004496fcb72eda1948bbe4e8de9e05d49310cfc5e6d39478d11e00f3da467074faf5cc92eacb4d184db1e647deb3ed8e51ec48b89a2bccc057cd0851f9966aa8bc01d264d29ebe5090c5e556a82e40449ddeca1bb87e72ee6d43df8ca922fecc25c41a0fc152440b30ed6950e9710dc928250ad766265e855bbf5c82536dd118b2244dbd2d999b61e04381c1441559c95fb4985abf5c3c12f29b4b64a019754357ad5b435dd050b66a5e0be0f4c1af5123989d05f2def0e75cdec6d9a58590a3609c6f68b266cc6f7cab1c94c7ab1130923fcc413381f98dad245ab04f0d2a6eb02e3a10f6eab6b9158a9bc9fb1fe1a743f92f7b86a55e2694160c1a3d45b5ac5937fa07834f4aed50e8cdceb8d7bca0dae88f4e140632bd372efbbfe01f3ca12d8d75d6f793b06602ab076ce9f6c7f776e3069a0ae923fb0a35df698ca4fa62815512fd03e5c96580192f632ec18302ceb1ef935aefbadc07b2db3f5d978a9a398e1f46b31d41b0e8f9e15d9238fada02fbb318b81823bb661a4e3327d5cbb0798ee3a0874aee5af8194d6e3868fbc9e9982ff36df65fc51f2d044d00061dc6714fe16c9841f18365f2bd271599b886f3011610d7bfe243e378fa613464d391224d0a93c51aa57c4f49747e3e4b6e01aa9295a00d74d15bca1730470328b4f92180f996df9d947cd8f8a7d612116a42e273a1e511db6ea9a0f0e27a385d7239f22e8a33d19e6f14dc8c405a4ab533f167fb2d176ce3c3b006507a95bc5bb588971792760122c921891652892558c05100b9a477c2e229f7f07f7fa2c55ffdeb2cc8035fa180f59c4b9ad170c68ce7a245c43e1f40de65aad5cb621668e71f834664ada7c234090298ec9bbadd636b1eaa08540519479513cfe8edbca402acf5d0ce8d9de30531706c4d612de615631c9dc1467ecb530a4528006a4705a310b7cbbcfd02912c46ef8b0583ac7c414abba53b6b9aea0a305fc7457f67491466de4a0d10d7631bcb13304dc9e4d2412efbb72d2471ba249f003baccbc8ec10642125f850c239a9d5b19f4bd9745d5df214adb9dab9f31caf8717245d48ef8754c1ef3db7ffb56291d907abd1d63be8ae95d28f347c11c286cbf2a265e5e0da59948dd764e07e38533f5c22e54141ce8c47c86459c6f8fbaf7745e3c7a1974fc7707f3bc99a62789c3f818b497bc1a70640e45b44890500a78ab358b50fb57c3940da3fccc16e8bcbb593a2991aee2587fa6cd6b2c2adf4f2403094ab7bd9190498ab20df4b99c9ae97bed755d6b26cf922d8d669988707013ba64cb6edd1e078e572b0bf4a6494b98b5f5763990888a5df69ba4f57f14c084ea26644e04406db8449c4811eb72cbb1959a8a3119f44ee68d9fd25c9ef86d7312d7f80f1ba9ef2a88a9bcdabbba87e971a891a0430e7da4dba55ecbdb8996ef5dea399d97b7a2463638f2672fbe4a01579d54b73e1a80e47c3054d8ebe98a57552020c063b0f79d1e2dc22fa97b73fd5156721a4314fdb0326237771554f941e578d6ae869f5c7adc8c2fa39648d778870edb9d9b20192a9e32020db75d0213c30630682d834e0f86f6f8f152775148316f3b3ffc4e96ea03c075738a5313bd1050d375575a3ad1f11ff4cb4e477157b57821dd0d3996a05514f97a12ec3c19e163e791a35af5826ebdb360b187da44dd678bd7d7ab883bdaab0cfff28c93f8e56c16dcc81270cec441761118cfa4ea13a3e202144af24868c9dca9b654c3f8b01466447144b39be37669b09cf20f7437e8eac67061ebb8f6ad11999fec5eea69885d020a7419fa509b7577ee9ff89f9fa6250151bc535ca9fce29117d2c43675af93c958747865854d4ddb1aa89acd6c31be7df486a0a30fe074ddc1e36b87b81e12f0eb5957001fc76e5b11a2a00336a3002c7465b097567a27bed5613148eacce35a96106c281e69a1fd63d07a929e8013a416a87cab388a4eca1d8ae4107257cd894da1d7dfc78a0e7d571f87198f4ea4f782302eb76836bc645af93ef5b5f1f24b5209a0aea401be9f91acb02432960b93bc13bef3d812f643c0bbf0757a58b8772fab3f95efc76723e8af47ed331f0dc5cf1092279c2f7d90f067f3b7f35e5b9f93a4848cfa66ce9636513e4fe62561c17b30d6d1295a0fe2211d15c9d90357c7e487e032d3f291b7d2eb7504dfefc1ed9a94d200860590f48caf24e2c603e42941cf74a7f8e21ece13d39459c10fd0adbda76b060567a9dcc3881bbd955430da17e3a1295ccccb209859dced2059ce55ff58fe22a56e8349e4a8920dfd7030a7d426bbf6d048d1576d2f6298e64f84116516f4e86873429de6fe37dfb2bf5087650e359ad8faa9e83581883566e472109e3b621a41fef123c240517c9255ed3b86eebafb3387da42ad2261c5f4818f9d6b6b344ed0a61f75eca3b0733a62fe29270a2345fac11458cb120421e4a588b4c5b6854366553ae1770c6c683e0684552ff9f2834780fabbd871cfb920253b68d93a54e9a1f3d0e182627b1fa3cdc7052c60c3459edcbac179fb51e32164db3f637cb3badde0f2844466d46a70f6bc89f01b5396420c26b9c431894886a805f8744407dd71d58bc522d7dc446e375451f271435e8c6f1846ded2fc4396802ab13c03aca7c66e565b1ce74436757d6bc8da09534ece2ad661d9ed3831a412719264378355e3b2e9f93a3155e8487a08ec95ed8c8a35a64e6d3681bba401713d550e15b1457b4dd87bdba109304379e55d69f53b81d1a05a12d67253981fa27261a1478601656b46bfa3ee6b5c82d7ec15add79352a882a3835667464f035e1714c193a55bc0399b21e3af228689a23ec656ad964ccd74d291f10e25eba6e30e16954eb15ab9f3e555a5176785ab22608d7279d8f8eb6083728e3296adb5bf518328eb649b6885208b7d6a70cc3be9dc0ada931293823514db239c5407797ebc8b9a8232efc5bf9d1721b7e97c96e237a9acf8d10234307bc2266127b279c008cf92d9526ca89c514953e4acd556fe480f391c36709a5826393681fc1416376af65dac19e9545f2f63010ec00e35984bc351d8df8c37f280fddcce8b26e82917c683f0f381f1df8311e5523f5108424b5538af3f1e02466e60d5a89e398a11dfe4b66817e0e064ea4ebb68805118505a56885d3e565a46c2b3df1677419c16f9513ca2bffbc5fb208a719e37090e63d58c23072e8e567a21c0b36be4997b0bc2dcf1c8b7d83bcea8a4e2527ab841841e94f54039f4e29446827806dd6c072abfcbf8b6b8b9aefae670164eb5c110b3d8788d5c215f6c7cedeb9d819c5571c49e91c15fd678f8bd268be78ff4921dfdd3dc759d158a70c07b7598e17119a1d25b00e401d272f61511fe24a170cb7040d52520561ee149635ddb44b5c7de3a222dbb7becd714619cdc6aa01aec7d1ad2b15b01b1425be57b18e3949a4756a63b80b00769a64151c3c7b3d5a912e95e3c7b0a37d75f7ff11a2651f4d195d5e122f38758d547057c68918b5819ef03b6f5daa9fe09a6e60bc6c6c42bf39a246389e2be8e1bb32219343ffce534fecfbba4f38f3eb92ce5a21458671c3d32387a3bb8d391e45ca9cc2ef5fd71cc9c380350592cc23d4a998885d17f2745fa9a5ac3e5bfdc8b51af502953fa70e3536043f3405da38c09614c527e3cd76c8db91f37d8aa1c32a7f198f7aec19ac0082607b09af54f579ca3fdcb4f279a0d7b9b751c14791b36e7df8e6616109d00671c3c026fdd8acd0acde38987a020cb4f368ad1c40e0084f1776669fedb35b58203b8162cf84e8e80594976780ff6f42255ebc75e5bed44a1081b82923aab8e16ee38dde53db8e86bea81dd85fe14fd6b9cb9570c1de39a34080c52538a4691a6fcc439322ca38f55e15d92a1d80d543e053b11ec384607f30b452b39c7d2fbf1dfbcbf5d44975d97eb14aa321ccb605be6e8d36b8780324b1ec525363db94b8e3a7ac580f172d0f25ee03a9fcba60ff62649e3351f84ea1e3afe62c49ce7a79702eaa51a7e1d1ad1bbe622dd3300e834ff773d447d005387df5c7cdcffcb1e659c2ce4b40ba14ab10e6bcac8522d7f597321ca9d9ccdf73fd862a670318a04b5bd1f83a109b9552bca63c4f89e277a6c7e36ebde58844376a9c8c9f9adeed69c5ffa534a515a31e45de444558c5cd21af3d856b7fe582507891670025f9feb863053cfa3d3e8f2cf11d887082b2c1ca7b8b093eec93f9b5b61ffa3cbba9f95c8dbdd9e8c2c73f27b8d7b5a2d98301e6fe12ef1e4be197aa3c77e3a0d51f2f9c148e7fc6cfde98863e8765e1ede621a42a81b4d6f64be3daef9beec5e17b5ee49ba1363eda35edfa23c38fb872b1f5f117f6d7e4cd9d6c9d67ec781b5e7e58513ad1c148d23193bc029f1c536f09081dc0a9cdd639899c03cfaf0261fb267ffb7f0946acc83362d4929e3b4d3f92d0d56efc7d5c845effdf47d2d61b83a1ec9a76cc38af75fca0890b86e34159777749f107105438d851af48be3c7cf69718adab071774971e48da4c30c46f6d10a7c9fab87d2fd668402338d458315f05c64f822b4634bf745f4d9055465979c5d0b870b5c6838cf1ad0c25d77fea7952b9328e3bb206169864a594eeb7743ec75dedc43bda19c8cb16569e1e76a25635db22227f75bfa333ca9d3ed4de649f446155fbd1046584a428a907f6b0898ca5c79088b75f08b184d2a1820c734da6305117b03111f81c13d92d7be9e8c75cdccb64be5a89f9af0693cab34017969c33c139a5ecf084cd32b1c3705453b9d09ec925198b9ea21fae621bb51a52232eb12c3d690c40ff24cb5714c0e4f29e28d34bb37d1b558d74b16e25ce4b7cd2d6e4a14fff140089a8c49e8339f2b32c10d4f0e7789c59b8350a866c6eaaec0fac051b67a51fdb5f449c56c6d013fe936c1ff6008bc904bdeaeb13500af481de5336fb5d829fd420009fe75cd3babc49711a102c8968f0d71f21436ab3612608ccf1f98116fdf8978f5ad0cf42208d51532c3023ec6a6f7f2f6cea5c35e364cf6823578b5fa7ebf4a42584422ea5d4035d9efdc45a37cb41a314d019c79066333b4e70421c92f64c9cab3a88c17c492ef6a08ddfd58919d4bf5c3b9105308bc24b5ec2ca76ad78d4db46b0cf4297e1ecb5cbd0d6c724b2c06365b9ef4bd636409ff243f3a6cd6195ed038952b6a3df339f8c96c7df9f4b1b3512c67bd7509c644f1ec562a954ff232ae04fd5124666db512f35dc21c05dd2bb3c80a0235545223618f1b09045729241d20d561b710be7352c009a70eccca392a770e8650c613d263cf464fc0925891ce9ca5b23e010047f3fd1722aba4e491da128f3e2b6fc16c0e86401349abd28b071d18b28efde1da0e49ea5882e718fb5d8351cff0690fb61faf52bdc699a46e86f8f22318e14c3d42e73d9b6a6dcaa680373159775ff4ec92e566d7a21bb57335120f6f1467ae085f480fe7dce980ce40050ce7678f188f6548d521aafa2e2a0d6b2d9b07bd3e2f82780e54aeb6c1b08a5e4efa321fb80311620cba7cb8937648b0fc0e6fb5fc2e56683ccab06d51319bfa50b5f2af18664f0a346f8f198682e0e404164c017f9401b8283bd334dae2abeab021629dc020f1368dac811452a056c00f1f5760f16c1ff3e0a3b2fe79241a4edc3706e943998626a69a6b1ebf06ee9bc31cc57ab8a1071f071805296993b8b0f98a79fb3e6e8218fd0862a43f70dbb2562e595e30ceab1d0dc9d8d52f33236dd3f3515fe8a22bb4b44c4", 0x1000}, {&(0x7f0000004b40)="2c0c9e0630fd99fd1a58fa80f5e0278431fcc09916b26c67fad08bf5788bc6dd49506046cf53be7068d95ae0d66af9da7976bbd358184f47d17f7597fb76662867b5cf92ef04ca44b4277779bc8a2ed24e8a32e7bc144a3c054fb2e08c35e011418ce712957825591f2fdb7b03730d2d4b34a5d7514d2e9b1055a99f5ea15272be54486688a959e826f2d078cf11c657c46a9f4571f083635803e6f930350729f5db8ded99f71592cedfea2ffe7bd1a990be5b4bc82b", 0xb6}, {&(0x7f0000004c00)="04f2e4d89dc5d595ca", 0x9}], 0x4, &(0x7f0000004c80)=[{0x18, 0x3a, 0xff, '4d'}, {0xd8, 0x1, 0x7, "7f75c17a8a6021df0d7b04151dfdb091e4fdfe348e5b49b82ab81925dc616122101f93c5408df9b141fc34b62255bc3091061f5d9df40312923abf3a0ebdf7891b69436efb57e37a27b7eca7cc42b6afc7d5e37e724342fdcc6a7f59cddb8e7b9393a94b4a02e4c23635f02b7024fdc56c061c009dd2cf9880002c3ea95254e357d01641deac6475d0d81f6a7828698669e04914b4a27e8894c6ee87769c569dbecb407e6c2b971dcc2db48f9153276df6ae37720f22bedf79314f3cb444ea2772f4662e77"}, {0xf8, 0x0, 0x492, "9d510fced9ca310e957846a8efaa91fa88b33534a07f424728ed9c158cd09debaeb0de943bd556ce58d707256975223ba15afb2f4375c9549963fc162b5892cd132e9f7f258c774abb108a187df8c5c2d70e036a348051c0c741791863e79d900aa26138b204fd68467b9596208cfc6e1b8175091acfc15bbd1c4a312a803d4920b5a4ce7d94fe832d0d9f0d369cc9e0f2bee39ea4d429d8e0d8543029aa791ccd86c6e0298a38f9c1c058ab77b5e961522332289fa402cc327d1a84392a47340bdc02130178c316e238d2eff66ea1f44c46299a75fb72d246052ec8e25773c0969844b639"}, {0xe8, 0x107, 0x40, "1f16ec42a112c3a9bde576b42e0174564442f0615eff640b81d8cb3db87566c5ae939cb5ec60a934ee9875846aad0507b6ff6ada77d18f76c3fef2be2b2e3f3d206e33dca15eff2740fef9f5e2443401f91f65cf88e7b9d8fdbbfffd2489c8d43c247b0d13266f604ede6902acf74193809fc1c680487c77754b7e0b47c03a55df382b2e566b4e0a7a41c4c06a96ef3a3c84a96dae502a16b8c42006c445bdbfe12f2f2f9e730cfe3123bd0ae62eaddef1f371faed8c5490fafe31918acc893b614c076d233b79f5f6777a0134e57a687180cf1c"}, {0xc8, 0x0, 0xa9, "629e4e4bfe6be5f2ebcecedf9e32ac1d68ca30c59cdeb7f83e3cc55efca371d207543fe48fb91d02b9e55d3e705903eebba3f01fb4be113a92c3d5fc8fc9081259456d86219dc5d4d03d2bec51f4a73fde460ec3483e3475f56f22760e12da086bd047346b9571949dbd2a538f46e59925ed74937e569b80d730777db23de00ab728672796a81f492d8b548794e82e0a2619e40afe453e22bbe7a7f7cd1394a77ff4c9b53f4109c7716a138ad74fa9326eea3473"}, {0x50, 0x107, 0x8, "e3a5374a356bc71f3703ea8e13cff079999159ec5f6155bba7e92f1c884aa1b5d0a805bce15c27f24bad53950a1361182f1bd62c9c99fe0b6b"}, {0x18, 0x101, 0x1, "fc"}, {0xc0, 0x111, 0x10001, "807ad417431dc8926a691ff96ddb153bfb8d1027adce69710790d81791f588a61d8d9f8e1b200d19f116c3793d09b625426440dfd619bf58c1dd6d10de5a35ba103d1d354880889961dcb708101be2bf959c8b2570a83843b106bbfa9eea5865869b9e0414fe6eaa182001b0bd5f58b895836d450461d520685f2a9516ed31e03f5561fc6b5789f5a88454af631fc54d5d94cfd5ad81c0eba6e856a97f1c7b38c199ae35f4348fb61298"}, {0xa0, 0x108, 0x8, "596750145f844d04230b958e7e18a631699b3b5007f0dbe74a13cd140261669611da6e68e216497dfbf14c4eac123c865ba323a73bc824c9e0881ea8d96971b664c8c85576b996fc374e4e029deedd3e8187e849ef08142d76722ba6ef3d39b647724d67057667511c2be6fc6aa96b011a1fc957fd5b20d315c3871372a7c901da238d31556b0cbaf1b80beb0bbdcc"}], 0x560}}, {{0x0, 0x0, &(0x7f00000053c0)=[{&(0x7f0000005200)="56e460c7089d656e73db6c8046eb6d", 0xf}, {&(0x7f0000005240)="85e7ae4d8fdcfe66bbeb0c86f03bef4381599a8ec9378ef0dee8a4b78bacd2065fef2db85ca651275e65b820e65bfb220091a6b63af2989ace828cf54eca79c1809bb4136c8c3cdade98f5c0f4609b58781f8e2f56412d69f66a5fca004baf556987f84d2f9ca3d6e523d7bdec9537b5c481d549759836410e59ff445a99357c2f6fdefbfb1f297b4ba10f20ad8a9dfef174c905e0f52c06063b9be42c6fac333854b8d7c7db4854a629", 0xaa}, {&(0x7f0000005300)="7b3adea89ce38831a8d43813a949a7204cda9728fd66ebc438492a98179c2ef5513593f09bbde1b7a570664d5d4211150451f02ae676dbb62e49d3669bd92ef8bdd861964789bf098d0cbaaa2d", 0x4d}, {&(0x7f0000005380)="6083083684a9b21ddf438a1f8a49d955d6ab4518", 0x14}], 0x4, &(0x7f0000005400)=[{0x90, 0x1, 0x7, "1407d577e141ab57d71c0bfef6bea9a2704c4368a553fbc1e730fd782410e1c4c80b015bc760c7770fcde34f0a26562a8181d19b7e74a90818624a87d13871fb1c96f66378f3b6f1df327ef5d80ae3214d5f13c8e0b1e2b20ae8da46f8f8264bbfccccb2b3b588caf932ac66e2f4eddeeee4df4f352c598feffe28cc61fbc695"}, {0x50, 0x104, 0x401, "ca51f6c4ade09c3e9ebb55b04cd7ae0e7aec29d2c83e01b4317107494f06a1aee499ae1027c2e13bca7bed259fdf3b728504100c9bb28fe2e80b8e"}, {0xe8, 0x111, 0x200, "b3041fb520a0ff382e642fa5b254d498e5958c5cf86b4a3b311644351d75b17ea8b050a25b19f9d191d7b0dfcc3efd614347fa54f389ee413254ac7be9a0e71c98fff4b45220d9f72e8c281314af2a3dfc73915eb98e9990a4ae861f38a828d309f82dce3a537b4e2a3b78b2a3d5066980e80e50a86ed44d570ec173613e9def91f1412b44e1be1a22ac64b7b527ac4f41803c5734d9694d9267df53216ebf5e7269eda82065c8b4395b30bf66a06e7f9463a1b8966acd971d8c565c62ed59660d3d4643f4e39bcd5a05cb9da61a166895"}, {0xd0, 0x105, 0x8000, "d6fda6093d8a5d5fa1f23f33e38c5732c036c59a17a0ea804b93338fad0a8c2758e7c801bbd0e8325dd4ad59f9116170898accfbfd74462910f8b1aadf90fd717b6ec73531307ef485d836900fb49daee5937488eb85b1116ec0cd0214602e991f25ff9fc459d64c83436ab0cdd9cbcd9374b523fd258674d15d85e5ec754572c7bb7d1e6b7338c78be9c2e6a341dead7dbc160d11c572059703914e5ee8ed68666b322b3ece815fa2d49c4188681314d1d39c980361edbd11e0550728016b15"}, {0xb8, 0xff, 0x7, "49a31b2c6f1b25d23064b8ee4818bf5fb25b40e77109fe080caad0f8b5556955fe5178f8e4bddf01f33723266190a564e9ecea062ddf48466e7f63e16078f37ef2b2422c543f738c8571036f37c44196df1e22c76ca667ec90548916c8b6e24659c870f5899a175aaf42a51dcb23fdaecb7107d9ada00e44df7c48d42355a4fd2184731e91b1a2ec75108437d22cd91f8747b8d296d87860819a27cbc0249772d1d9"}, {0xd0, 0x112, 0x2, "1bc7cd6d9048d9e8ab7ed2b329d6c4fd5eb4d80002373ac10d2b075318758ab6af6addcf1edf5c55bf865dcd5e71260b9704dd48e35d8d5b4a31b061c025b42d10b4b34e5086e26f85ac13c687efb9dc581b493af46ab6523f688886f3358cd8f57b90f8c2814b44ff791352a06bb7343c7253371155304750f1f20c59b518a5450c642ac95f9015e876ae212c3819e141843c0a1c9e1496556e5f859ea259cc2ff3e0d2d11420018bc6a86035a6d6cc23701f725546be90470109"}, {0xb8, 0x84, 0x4, "bcb6ca5b96d85e9da42540ea2529c84b728c1e42422bdb9dd90379cfa9210b7f810d00de68af49f6b29be297741f18526bd30f04560f3efa983b124c0bb7ca017ee42aee47f84a2c6e986aed789b7ac78a5a3b5934099fae264b0a276eac8aabe2c73732899ace8949a608aa344214602e93f903a519d2564af6d81c05c4ab4af7bdbbf56a56af01857e8b7993f81dff1d60ad3d1820c9ea85153f502979ce20e0df"}], 0x4d8}}], 0x3, 0x8000) 01:43:05 executing program 3: ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000f00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_io_uring_setup(0x0, &(0x7f0000000240)={0x0, 0xb201, 0x0, 0x2}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$msdos(&(0x7f0000000040), &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r1 = creat(&(0x7f0000000300)='./bus\x00', 0x2) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) r2 = open(&(0x7f0000000200)='./bus\x00', 0x0, 0x0) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r3, 0x131fb000) perf_event_open(&(0x7f0000000340)={0x0, 0x80, 0x1f, 0x3, 0x0, 0x2, 0x0, 0x400, 0x8828, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 0x0, @perf_config_ext={0x7}, 0x5202, 0x401, 0x9, 0x0, 0xfffffffffffffffa, 0x8, 0x4, 0x0, 0x7164, 0x0, 0x80000000}, 0xffffffffffffffff, 0xe, r3, 0x1) sendfile(r1, r2, 0x0, 0x8400fffffff7) 01:43:05 executing program 1: ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000f00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_io_uring_setup(0x0, &(0x7f0000000240)={0x0, 0xb201, 0x0, 0x2}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$msdos(&(0x7f0000000040), &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r1 = creat(&(0x7f0000000300)='./bus\x00', 0x2) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) r2 = open(&(0x7f0000000200)='./bus\x00', 0x0, 0x0) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r3, 0x131fb000) perf_event_open(&(0x7f0000000340)={0x0, 0x80, 0x1f, 0x3, 0x0, 0x2, 0x0, 0x400, 0x8828, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 0x0, @perf_config_ext={0x7}, 0x5202, 0x401, 0x9, 0x0, 0xfffffffffffffffa, 0x8, 0x4, 0x0, 0x7164, 0x0, 0x80000000}, 0xffffffffffffffff, 0xe, r3, 0x1) sendfile(r1, r2, 0x0, 0x8400fffffff7) [ 1147.577292][ T3555] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3) [ 1147.585154][ T3555] vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) [ 1147.595031][ T3555] vhci_hcd vhci_hcd.0: Device attached [ 1147.609155][ T3557] vhci_hcd: connection closed [ 1147.612276][T30601] vhci_hcd: stop threads [ 1147.622990][T30601] vhci_hcd: release socket [ 1147.628829][ T3564] loop3: detected capacity change from 0 to 264192 [ 1147.675879][T30601] vhci_hcd: disconnect device [ 1147.689219][ T3565] loop1: detected capacity change from 0 to 264192 [ 1147.838415][ T37] audit: type=1804 audit(1641433385.732:779): pid=3564 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/syzkaller-testdir305824486/syzkaller.Dm8Uo7/35/bus" dev="sda1" ino=1177 res=1 errno=0 01:43:06 executing program 3: ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000f00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_io_uring_setup(0x0, &(0x7f0000000240)={0x0, 0xb201, 0x0, 0x2}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$msdos(&(0x7f0000000040), &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r1 = creat(&(0x7f0000000300)='./bus\x00', 0x2) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) r2 = open(&(0x7f0000000200)='./bus\x00', 0x0, 0x0) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r3, 0x131fb000) perf_event_open(&(0x7f0000000340)={0x0, 0x80, 0x1f, 0x3, 0x0, 0x2, 0x0, 0x400, 0x8828, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 0x0, @perf_config_ext={0x7}, 0x5202, 0x401, 0x9, 0x0, 0xfffffffffffffffa, 0x8, 0x4, 0x0, 0x7164, 0x0, 0x80000000}, 0xffffffffffffffff, 0xe, r3, 0x1) sendfile(r1, r2, 0x0, 0x8400fffffff7) 01:43:06 executing program 0: r0 = syz_usb_connect$cdc_ncm(0x0, 0x6e, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5c, 0x2, 0x1, 0x0, 0x0, 0x0, {{0x9, 0x4, 0x0, 0x0, 0x1, 0x2, 0xd, 0x0, 0x0, {{0x5}, {0x5}, {0xd}, {0x6}}, {{0x9, 0x5, 0x81, 0x3, 0x400}}}}}}]}}, 0x0) syz_usb_ep_read(r0, 0x0, 0x0, 0x0) [ 1148.728535][ T38] usb 5-1: new high-speed USB device number 11 using dummy_hcd 01:43:06 executing program 1: ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000f00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_io_uring_setup(0x0, &(0x7f0000000240)={0x0, 0xb201, 0x0, 0x2}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$msdos(&(0x7f0000000040), &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r1 = creat(&(0x7f0000000300)='./bus\x00', 0x2) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) r2 = open(&(0x7f0000000200)='./bus\x00', 0x0, 0x0) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r3, 0x131fb000) perf_event_open(&(0x7f0000000340)={0x0, 0x80, 0x1f, 0x3, 0x0, 0x2, 0x0, 0x400, 0x8828, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 0x0, @perf_config_ext={0x7}, 0x5202, 0x401, 0x9, 0x0, 0xfffffffffffffffa, 0x8, 0x4, 0x0, 0x7164, 0x0, 0x80000000}, 0xffffffffffffffff, 0xe, r3, 0x1) sendfile(r1, r2, 0x0, 0x8400fffffff7) [ 1148.988475][ T38] usb 5-1: Using ep0 maxpacket: 32 [ 1149.139553][ T38] usb 5-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 1149.158980][ T38] usb 5-1: config 1 interface 1 altsetting 1 endpoint 0x82 has invalid wMaxPacketSize 0 [ 1149.172195][ T38] usb 5-1: config 1 interface 1 altsetting 1 bulk endpoint 0x82 has invalid maxpacket 0 [ 1149.187448][ T38] usb 5-1: config 1 interface 1 altsetting 1 endpoint 0x3 has invalid wMaxPacketSize 0 [ 1149.200450][ T38] usb 5-1: config 1 interface 1 altsetting 1 bulk endpoint 0x3 has invalid maxpacket 0 [ 1149.382202][ T3686] loop3: detected capacity change from 0 to 264192 [ 1149.464761][ T38] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1149.479821][ T38] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1149.537501][ T38] usb 5-1: Product: syz [ 1149.545430][ T38] usb 5-1: Manufacturer: syz [ 1149.558447][ T38] usb 5-1: SerialNumber: syz [ 1149.704428][ T37] audit: type=1804 audit(1641433387.292:780): pid=3687 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/syzkaller-testdir211432084/syzkaller.5XOU8h/988/bus" dev="sda1" ino=1174 res=1 errno=0 [ 1150.114575][ T37] audit: type=1804 audit(1641433387.812:781): pid=3688 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/syzkaller-testdir305824486/syzkaller.Dm8Uo7/36/bus" dev="sda1" ino=1175 res=1 errno=0 [ 1150.438796][ T38] cdc_ncm 5-1:1.0: bind() failure [ 1150.453567][ T38] cdc_ncm 5-1:1.1: CDC Union missing and no IAD found [ 1150.462154][ T38] cdc_ncm 5-1:1.1: bind() failure [ 1150.472102][ T38] usb 5-1: USB disconnect, device number 11 01:43:36 executing program 2: recvmmsg$unix(0xffffffffffffffff, &(0x7f0000001700)=[{{&(0x7f0000000000), 0x6e, 0x0, 0x0, &(0x7f00000059c0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32, @ANYBLOB="d1ff971bb2312a3ad376e4866f3e1eafb75d253797849a04e8e1016c51c7a42ab9494bba2f99069f5364921144a080ac4a03db83dd0831aea1962976ed408f1cb198d9c4ed941ee4e3d0d2ce962d2f9a460a16b3761f74ac173b41891bb49b873b97cb95c0ca87d0908a12b53678bafd8a899a5b00ba63f2c32813bdc1ae613f51f53cbafa21d3a6d90bff36743340b66b43a09283ae03c82e52119272746ec406a2a7"], 0x58}}, {{&(0x7f0000000440)=@abs, 0x6e, &(0x7f0000000180), 0x0, &(0x7f00000015c0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e4ff0000ffff00000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="0000000018000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYBLOB="300000000000000001000000010000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32=0xffffffffffffffff, @ANYRES32, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00'], 0x108}}], 0x2, 0x10000, &(0x7f00000003c0)={0x77359400}) perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3179, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf315bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000002c0)=@newqdisc={0x74, 0x24, 0xd8b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@TCA_STAB={0x2c, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x0, 0x0, 0x0, 0xffffffff, 0x0, 0x0, 0xfffb, 0x3}}, {0xa, 0x2, [0x0, 0x100, 0x0]}}]}, @TCA_EGRESS_BLOCK={0x8, 0xe, 0xc0000000}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x6}, @qdisc_kind_options=@q_clsact={0xb}, @TCA_RATE={0x6, 0x5, {0x80, 0x27}}]}, 0x74}}, 0x0) lsetxattr$security_ima(&(0x7f00000017c0)='./file0\x00', &(0x7f0000001800), &(0x7f0000001840)=@sha1={0x1, "c9fb351f9a8e60285327968e08e67150687e6a6b"}, 0x15, 0x5) sendfile(r0, 0xffffffffffffffff, &(0x7f0000001780), 0xf8ee) r4 = socket$alg(0x26, 0x5, 0x0) bind$alg(r4, &(0x7f0000000100)={0x26, 'hash\x00', 0x0, 0x0, 'poly1305\x00'}, 0x58) r5 = accept4(r4, 0x0, 0x0, 0x0) sendmmsg(r5, &(0x7f00000004c0)=[{{0x0, 0x0, &(0x7f0000000400)=[{&(0x7f00000001c0)="54beb2f7ef3eb17f8d9dc00c6b10b4fca67c8ec096bdba1d60365c0222266f2ac6", 0x21}, {&(0x7f00000000c0)='j', 0x1}], 0x2, &(0x7f0000000480)=ANY=[], 0x10}}], 0x1, 0x0) r6 = creat(&(0x7f0000000200)='./bus\x00', 0x0) getsockopt$inet6_IPV6_XFRM_POLICY(r6, 0x29, 0x23, &(0x7f0000005ac0)={{{@in=@initdev, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@local}, 0x0, @in=@local}}, &(0x7f0000000340)=0xe8) ioctl$sock_inet6_SIOCSIFADDR(r5, 0x8916, &(0x7f0000000380)={@loopback, 0x34, r7}) r8 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) sendfile(r6, r8, 0x0, 0x40d0a) sendmmsg(r6, &(0x7f0000005900)=[{{&(0x7f0000001500)=@nfc_llcp={0x27, 0x0, 0x2, 0x5, 0x3, 0x20, "859952d14ec9ca9f06c1162c70947c156bf270ee11a10fa8700c80985ed92bd996de3f9e1fa4efb7b58a7fd2f17808d9870707cefa97c3ed10004fc5c5dd7b", 0x17}, 0x80, &(0x7f0000002a40)=[{&(0x7f0000000180)="cb6651079db205cd5599ce0c83ab510748716b4bbf5fdf5b814f8b2d3b53c3ec02e9", 0x22}, {&(0x7f0000001880)="67b3d2f6f2f623761799461e98b1d527950334d7aa5ea6ca9468fa2cc7b460212d5cd868d314f8fdf9fbc8c58afe5f86c58e7cb7a30cd1991342892d75c091666a75c01dbd9c3b0372233b02b2d57372a84d5bd70806fb1cdc63fff8018c0ecc52f89ebb3bd36155d480fc8e6a91a43e97f613b2922566da391ba88842a3a9bbdba9d15bf6d4fec9cd4c0e05bc0aaebf81443aa56ed5f549bf146c094ab55eb41aae1494ec6664e8604996d7be2b860bdf0a9f3dd6ccd3c1f9bd0242032ebcd5c1c61d287a14260cfa750dd50c4335ab7fef5a479b5139ac381af99c9a10b2baed858de3278b7d838931bebdc7c802876713826c5ff1cef858269625dacb6d476f6d13c33d8d2124cfccc92b68cb532fedf5acecf9463ea16c958ab506b2cd1654f2d0fb43f0c384dd49e56f6000a57be6e6575c7d05ba899bb1b6abe3e6406d84b6f0137f553f4dffc0f99a47b4267b64713a6f9bc6f0493c5417d9f00a0f271eef0c83a8cfda08b883340f399be00e601a3099f66ad8d081a1e06fb73c9a165ed6614757c1958488a483b027b7beedbd5e129e38ff00b86e866f5fd4dd049421af83786fc7a481ff3aedc45f6dfc592e3f3274d1c76ea5da48669e3e15e768c12cb5a1c78421a8d0861180ba9c327bacf3e7521233cf791fcd6479a1d2db631901ffb3766e948f8e222529bb5ba5843f86d85e32f0551d894a47eb2d5b4417f25a83707e0101766865a72e83b4f747dd4dacb2e2e27dd8d95a4b9b1de0d42db6f5fc7be7900a2bb16ce4507ae42e7f38f6efaf6b8d5596f1ff154bc1679d5880b33cf02b8a8966dba3f928162ea6a04cdf383f9fac919310ebc3e28289c68e2f37672c65bf3d08e38373b08ac632a52a53c7b7e24f9a6e70b2b0fcc499bd0d6a388304aeef68d1cb49676a6e16c25fa5db8d0453285aa8c612d2f870b91e28627d7ccf3a730272dcaa8922344750ace17c878b7f6ae480e4fe33ee516e394f51ccfb6e47321d4226d6d6d12fe2547f5fd5de47c72e5e5bc4780f532364570d257d4fdd2610fd9cc62dd321834f925da853a76e896cb854a3fb2c70de190fc032541bc4c497d9b6661f220616b46723229197593d52c3fa346ba7aa5d408ab80dfb7627c609ee774de72f58df528b531d113d98cc203d4246ab097e612d9f1c04c5da173ae910dec7b0bddc14c4ee056c03209ce1f982e18d72c8d4f48476150d60a276cdc0d0615fd9172baed6b9b483db246173a360a99d6d38796358dd8698fb4e0aa7a5d377b8562211fc6a14a3f4c19500096878048382f54b51af84461695ef0c5a92765a69c0ac19ac9734839a9dec17962bbc3fc7f383792c446e6f9cee002f5b59729c04190e6c8a317c9a698265f1d920039ee406468d0dcaf9b256c01c35095db3e7ff4729370be251146b371b87dc26c96c23358da7fe87e3b30c2bcc16352dedb88e91bf8bdedb733dff65c8ec8c333cb3fecdbe601cfe1c2950d7335fde5efa938145ec62468fbc36acf54d885b95830e44b260d02abbb6a5551cc4b30761b0cc656cd4c4d906b2dfa3dc230c0890069a290f9bea3859dce15fef749f9de370eb4634a04c89ebcb5362ba1285584a99a9bbaa75350b820470a980570bf27ecf121681beb35e91d7157d87aaba98fd3bc577cda1e4789ac2955730b2c08a92cf54a77daa0b7af74fd0264ed58eb9eb2587462ca22fa3732563ba01ca52d6d334a0c23aa40e405ee999c263a5e27ff5c7e24fb416d305483ee7d2ec8613e041f2cee84c71b4a4d02a9e8ee3c4705e64067af9d13f99f0290bb491e70756fadf99a516ac57c2ef4f34c52f93b74b8119add2b6c18011f9182ac50afad4101fa9766289d59fed42707d7bfe2f1ffa8d3cbabf0c909910c69d9de1b3fbd274995832493c18d3e420bc185ef8fc8a4d20c0b554c791dcb3dee9c7e433bea1e8a3e1476cba4b16b19f9f7dfe72f749b1f160dda456eedffe8c13a4d84ed9e2d88f47c2e791eb03558897d52281e619232c2fc115be1f001fe0feaddcdb589ee5a3a9dc037534aab6a867a02e9978cc94b90d745cc66f519f8ff00c5d30c9c4a34f894d85615e5850065c27a83fdf633df5377cd10efbb307671de58194116e4c87526d803972c5133d1aec32a967ed8f7c59457550dd97c263281740347df01e03d5be6f3aa5ebec3024aca5517eff9d82b71f6099992684065ebed1b32fc312a5f4b6b2ecc52e0b4276b2934770ebad3022485a69cf62acb83b23d33c1b6529574123b90635c7a4f318b10819cf82af9b62c4557ecabfd26c036f2589c513c07b0e7844e5871dba8e5227c64afcab2d1ce095463a78ac33b0bbc8cdd6a5562710ecf45ee94350258d494950ce9c613d6e12560699f1bc2d113e3c2b3e469a2185dcfb278193e4da2692dd50b9ff64a776a9430513101fe20f8448001e0d176a7729f8ba9167bbdb8b5b436f18424f1dede8330930d79364d30accd12996ea55bbc44a9252ccae12983e3363093fcb064ac318e54eda563ead00b043635b2877214cadecf2fbe912b9b3f83e8f090baa0a295c059cdcd48e60568867a71bd0d570b657e29a3da867e3f0f88135581242086dd7056702993353805d8480ce84ccef23f130a7da84077de2dab2b7018bc48d5dbb1d8b46cfb7ceffcc43f021267d8f3408db02d68daf21a0c89fb8401095da28e02f06669817d2b81731c11f0dcbd792431e1bd966eea42d37c7fdf6a0e464caab00ef835316c32a2afd4ca010fa96a15b931f6cd5dcea2a9d3528c993bbe13a30c3b85e46c2c3ee77110f5be70888bd16fd5129c2be828d83bbf768bf08cb54cd4ea9706548ee2f349248fa1bde65afcfc4f4332c1bfba92c4eb842ba16847dda08b253ec8f10461b0ebba8256eaf26c68d19f991fea64e2f49bb2fefe18496a8735c449b7902c510280754ac5a3358aebd63f52ddaeb88fec7460b59c60ced8765dd4e450f85c8728c92a3a5999575ed10772d15d64e3fb306ec6d5d01253598420e3e9de72f94230e2fa81f8e994bcdf5c3773200dc7aa41dc2efbfa835ae94a275285a930ee0727bcf7c53b68990dbccf43471da8d844c5fa2adcc3eee1fedacee7e861e2ac80174e2621ff8258884b136b628462e753344ccce50ab5d5bf6da5dde3f42e05a4f26fb3b8a0ec9597f164ad618d515eab4c20eba8904e81d035076fd5d737a4b5b5a614e90d0f5bfb3b792f996f2913880022ea9378af0bbb669b6b1613e5a38d46b9453633ff280a45c9c962d1321ed96d40d1f4f9b18f22cd99e39dba183ef4e4e57d39a660b7c513ada171f26d44634286b56729a436761de94f65900e5b859275e3060158a5780da328b60dd4eb82b7bcb5daaef5dad5b3cebcd6bc3d7fe82166214e57f4dd3218b3df851569a28d3b3183b532ab7f6516ad29706925665e24c3993c4305f8c902fe01d903e840661a7d4e1be5b23619542cf8d68c45beb09cc2d2679bc61df50948772850401057ab9756e26ac56e0a50ff8056ef645fab92466f24ce0df6536f9b0ea8e60e2a9f908670bd06437a988857ce2edeb8d2c1c76e11b8660962c3c1e2adcec01a1b21358500132f49aa1c0a23be510591dbc35cda33fa4ce2b4c4fd5d68c8e4b68f76efc35280e447a23435cbae359f10199ffa530f528d7582ef07d0361f75e2e06aa46b617dc65bbd8cbfaaa405f0e5609d87d238735d74a132b5611c11255a91206116a1847e5926560322d1e1a70236ac7e723f0cc5915233b74357ccc121106483e4652f66a15f6477ecfd871531cab51da07c596868266b3b45f0072f11b542d28579259d11de7f26e7d252d1506f693f44b797b54d110710d6fe464b6030ff2f53a8b279ff1fa215fd3245ab5982514a96294fcc0f824d569872a054b71ea187b13259b818f7407ab220b7e9d415525c984bbc25af412767db9edbd7b70da8bbe23ae59748083d82b9cb1fb17c9a226f6bb6ffa577d1f52f659632c3ecf5101019cf4ea01292226acb415ce6ea5b71e6938c037d79ef93a8e33d3b86edcb65b0d60b9f911f55c7f667b60d472aa89600b9446e7d1246f905df34132f146d60b07275b112593017ce20772ff6d8d7e7e9a64cd573a6536c1fcc95b323c5eba3ed507728ce44c41fdd9ae101e4f0160559f11e0b801e767302295efff469951d3bc317960daeee44448abb80058a9747c8b59b8a7e3299dc225fade027cce32725f52f569d8012c4c5cdbdba73bb58625540a1f0b747313855f57247bf5dd6bd82de5b5bfb4b6498ea8018dbd5bb05337510ed855fa0e20a3e7c9b24902a3a2fcf9aa4317e5bb8a55450b21b1196779a6b9e59c6aba53d117609e22b5fd1d435c9b64e21c5038232f4afbc8597239887567f4e8d4ca675f1bd7974376b0179fbf867509246e80267eb77121bf469bf82c3d28e619903d327ba94368627524bde2b10dc73b8272e512cb43039a50ad7ca3ae46cb293c71e2d7536e95be6764fc7bb4c27211d15ea9937ce0234c33d55e606ecb2f4ae5133dbf013ba56f4c56aba70bb7ed4574dab261db62f5fd554f72cef6446651aaed1a3a560abe0eaa6baf86e6a4a09d394989d0f043144e26e6961995501e4e7efb3da181d9a7edb942fdc46ca60089216aba915538c97797a02e46dff27c3c421a6afeeda8737ed8b0dd7c8fe467aa72e2018e210cf7c850f9379747732597e9f62d97c42a70d8b528596fe0440c3c5cb47530ea84f8d74e2231edbf3061a215740e8cb6750113ca5d5203898c8f69633f6f0b3ee316e0b7053c69444137641981f7a438a42f9d2f2127b750eb825b9a14155e185a3f802b184ab39d21071eb8a1c5db6c2f70426aa2ae7e40a230cd525f988f8c693c04641f8365b474f949afcb9838c650999228ea316bc128c540404193a33b610f181ad6b6b73b529ebf6ae46a10541c94e6442c5b79f551558ce4ac6afc42c80a2b9b29e94aebb4fcdb03700a859a4b7651ade1256b2108dc039bc0f9174f92f8f7ee1a979dd64d5f0170889adc2744371011e874eb785953562b265fb3a9a6a9cc284d2d69d6488c4bd310a52688ff0f7396836b96e93cdcfd9916428a729fd1ab8d3b4eae79005080af6f3ad5880effeeb5bafa5ed375ef16595f03b68d43335cc41e95a41262e18a7883e357d5f02d19845a02361387591c1fa3d73caf5a564804a9c7e09cec563caf6b2b76fc3a0f3c9d6f75e618803d5857dcd010d73488e37cf21715722876fb35b27b6f27cfdfec1b04df09dbbd9868cad64a4faae80fe02d21176f94a841557d72bc3ce7a3c3853cd7b968c4028e21314ff6365458b7e594c0cf09c0c17b92fec783bd6ad886729098a59e0c5ec6ce39ad038766bd98aa270b4194365052c117d87ffa52f502454d9ac1a354c492d4db23e9763e1c418d5f83b66a30dfabfe434561b5bd68b45437d7d3130d77e5c6945ce0956a9d4e36592c9d01e7078b5bf9d6b7c4641a8d8bee8b00ba55798971eb6901900d5286978ee400da514fb23230c35df15f01c20b0ca19a2588790d536d79110464ccb87d12bcf149a9391e42124c3b9b6620320c705e18a825a929b3f1259b16fbf5125e5ece5c3516792353cc65688686d8485340cef5a1a10192da3aa4beb9523db097f2586d234b1221b2eac17b82f4d9853e0155d8675b1603db6993d0d5972623ef9d878b5789cb2147c2f72b6265c49b2187433e10acf18ecdf296560f26a6dceb9113fe591206a87699d1e5cad7ff4fc094587703bcfc919203aa7cba5c620d1c1c0451fcf6", 0x1000}, {&(0x7f0000002880)="b846343e92d30386b9bafdacbc856c8faaae41a37dc793507d2122bfc80952e9369fe27be1e0eefb177f98be09c30b271cf2ed07575c117ca58528d707b57afafa864628d44562977f02d07934a5a6dd588f76079708cdea59390a706d15c5e064129f9a0373404f017e52db868637b75855d6ae3b38cbc047bf0d91a87629d9232cfa2425fbe3c718592d30aa068f7cb2d01cf5cab9340c72d5730703838c0a5d1dfb93aa7f5635f2f58e81aba52f4155c1fe2bdc4b218ae8c9367554b153b3469509cd0fa762c05e136da3d7c723792393070296eea717139f58b03823ecc3806d067edf0693f8ef711dd917ab6f724de3218fb2e6df7de2abc80cab", 0xfd}, {&(0x7f0000001580)="05c0e7645e1fe74af4d56c15ff84", 0xe}, {&(0x7f0000002980)="ae7c899749b8974688c4bd6d37186a572e6cab7b043923e923bf2e1d8ed78b963a274938798a15075913cf0f5c8522ff9bed3ffc59a15e1666297d9b9a89561de4fc844516d2c11b366d0058df", 0x4d}, {&(0x7f0000002a00)="b944346f4c5c05c12c4d18e752db5a3d45a7093752aa997b9e7f39e311e2318e101a", 0x22}], 0x6}}, {{&(0x7f0000002ac0)=@ax25={{0x3, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, 0x3}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @bcast, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @null, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x80, &(0x7f0000004c40)=[{&(0x7f0000002b40)="c541ad0dfafb8111d6f9836f225f6063fd69f1e43e38bacae7428e915d654b0f5792e800715b1e7d6545d8e2ac05c22105c18fbb48831cfb1af0df8b1a8ddade42e8e50941fab2cafd27683e2658bb8f9e86505c9569ec395d5934c86616693825e0d2ba132322afdabba2d6957f8a810f85d17f2cf5e121cbd7ac7811e24d326b40da849871affc050a01ae3d935258efcb37e77cd235c504705d7c04fe48883a1e6e7f5ccfcba0ef88cd7c5649a10a76bd6268631f711f98429c52228e57489c8b7c19e22a85c46f4d98635dc2fc039dda27e4ec15213a3c11fa20c088e9254ec218145d88fdee39fe237b177197da456940741f8118862ce29b884d914dd84312757b91682425399150b7175983c4761e7bb87d681046f13b0b220926d3a0b2fee844bfc5bff2823f986540999d17cf9f51f5921ad148568871d206d100a6e81d1bbdebf28aac77ccc0fb80e4470feab4be5910457d3ed45b4463d2d1d812c5907bdfdd400e1c7ab31b32f343618ac20da9083067d576622051aca3a526ed426d983e2304bd059aef6bb47aa8d0f5497ee03335d1949bbf8577072c1d99e550de3d54c0937da43851547e0cb7e528051cca368b08ce1caff449b4e0b56989546a93cf7d63a386d4e5f119dbb9d810e0e31441d750629e2fc67b040fd9c7362786fde71209a4f9c5d24b2169f802733a561b2ce36ce58311399a11ba14cb38385cd069f2bb1ca1dc4ac6970d92a7209a5f48e27bea47c80f5c4b95ec87a5e0c9384bc8d065baeca12f80b22b40787d3a2e9d677ea2d6a1231050b29f086261d11be8cb589d4db95d99ac2eda7d7d921894364f3d6b4fc36cb8dc827777700c5098c1b9549256543758ca67c33334d67cb674ba18980af55e094578983e52b91caa0e1b644ee53abb3a03fdb166c72caed229e0c23fffd7f5797a8542558712de2f88212ee89c92c328c49e60e8ad386ba13bd2bdadccdafe6d1abb9475ef0b09d8d7dd59aeb7a8d851cbde336b37780e26eabfc55f856f5e815d02fb29ec4451bb68adb2864c67a83074b9986131b7025e6d79b948cfa96a224f5020b2803c92a8d578fcae0cd40bdeb5f15a5c1f42f69bc4348863dab4e4799de82665db44ac17782b0d01aeb615a8c0a857e88a43baf11c37def2a0f6fd9b4f413b1465c63f5342faf07b9010a0478b672436e3a8cb118f074c70247a9cf922f9bf2855c1a48d0fc8b762918954bc6ff4dbfb3be72acb513f2165d9478f437ad48d96d4e6d464fb347fd78b8c35f66e8511355522596ea0a03636963bc22d0c0acfb10cb04aca9014d34dec77a4b675fb6a896472c69c889866ab2771ee078b976f39fa72c8e6801912cbc9478e19a00dfef6ffb119b3e007442f241ac929fe6f835a5879e6a7650dc382641f5fc935d8abcc1f35c231ef9d7f47220ced2038a1d6324682953fb22e0d36ed07fbbea15b0706da86595cdf6180cacabcc9549296a6c3e673ac896a42982ce9ae9ad59278a2ff75bc27c058507b6f9fde7d91adcf821f1eb1c9b8d82f4083eb65c949bcb83a3e88a01c5b7f2567d5ffa2493a58467cef6f1b049c7a81c2681200c56290308c6748ef20ed708ab2fe2aa1e59f515b7b81db041f759421a5dc527a7710f6a61405140e1572cb79d65679ae9c85a90d8e7497263d4239f93e83f0f4d56e5be7874d4425448119cd802310582f8139ec72da95b50b8856dd2bbd005fc9b86f4ecaa30f76293da198b11cc12850d392384b50b01c5c28ce45552969e054cc27afd64a86074c0f88274dc35a5a98d94f772e32dffd654b531d861bdae534b2be9989846ab223d11170dbda11eb74157935d0f611e35e303a390f3872a30e9433c601dd3bf59a974930a11d9c472ff8d88da28f43c7778f6e0bd6c8d6480ff14a4530b3d6201037329177102c55881899dd6bba7b1a49f2d37bd374a90a80fe2bb2a29b3166b7c9d003e59d1df779624bb79567abf50699187d8b61b54049a548a94406c496f53bad731445d34f15c65132bb7acc5461576dbcf5676619f627edcd44711c6238cd49856a63fd8cedf8681b0fdc0ee9b25349d02f11ac64149f7614e7adc2c0805cc77743040590a2448cfce59e8ae4db247120703da9f71fbe58a46da1720a8afdc8057bec652b0d61d7f661e2fbd1d1dc245c74393afe100ed5b90092a5a59aeee4bac9ad8cc8edbf492ed284f63399a3ea233ca5229f051422782cd0a72b973f377e6834523bcc0c04b7205957219cffa50db2063cfb1164d0835ac1c506f8672ded52f8d4c4684793217777356c5fc3653fc7651728142973a0e34541d477285354459e30735f1395d276880fdef0220b692fce4bb7cc0cdaeeb60a23d3b65fe994ec2b3f32d1f675cac862b88e4fce6aeef6ffaa9c99d27f8c70431ae8b0e17dd492f409af544e6d6abcb48d20feb34e0cee7d63c2ee7d28f48258cc2fd622defcce5ab2920466fbf196c3b2e135157d6c54957e7ca098eaa102faad9f56a79d4776eaeb467dc8cce71805c7b04cc4f607886be03b9a69495e44a6083f52eaaaa47f859269804afa48949647b02df1cb0f77c90d55805c0e14d1e1fa20703a3c9c40fecd7373974d6ec8dded035365848da8d114a708f4bcda02a761a4302526f2d00c60d5d460dcfeb639bf2a514c84b4082cde087627e11ca5e229593d7033411ad9518c3d8e5f4496f5299f05b161638cb8413e0793da96afb17da9753952ad86cb167bafa5997d7dfad19b62246ac05cc3734f241c3ca67e9e83c8c5815fe2fe235532b532afea46ec5e64da845c51493bff8aae80011006ee1a44e9cfb634aa0c74dd253935bd5c2d4ed3c9eea06a5e839afc384c0f3ff85a5aa81de38892b127e59443f2caa51bce4f0ff7c46393afdd03e16d6b9511583468007d964a616b86f7cd340384593b528fba939cbadab62ce9a708f65ee2f65656c80cf5680f137c59af990d59f4b35cc6d644e25aadd9e9f5ec32cc3bba0f3be777011c6a00790efd2108dfea1ebdfd79328055819b2c0a0b71e3aa1add915bdf5a1835064d6195f4cbc8bf55b3a09c15c3fd279470e63c7956a160068b143e20c0df3d30ca97dff40e4b0c4afaf007d31aa81b4704b4c3c627e08029f43e4200ca029011bcb93087db96b73eb31db40ae38b2bc12747164b6a5c28d2933088c1d58d2ed8a2ef79af5e9e4352779915cc0b67f538e603f5c341e90028ecc880000432b3828c959eb56cf2ad17d7a2b0e8a97688d17e925cc37e66c27e3be936b6fff07499f587b88c5830dbd552c6e55567b3cca338dece48e64b5cf706b2088265dd7199893468bfed0d04e8f4a6a9388cdd8a61bca491f8fa4884af5bef60fb1d7de22ad197c53072b5ffb354c0d7ec343cf724f36b5a4a978a513e2ec4c53ccc1d2af90120be748bbbdef2ae73d90b0d4be4447d176fea7527d7d427959bbc86fd39c4d56eb4b0eceeeecfcf690142742663cad99bab86fc0207e64ca152ab043fcf0d171114999b88bc7fdf2dfd6d511687441ae99739fe0278d4e496470d4754bf6cdb0098a289f9bb6d69885a27c686ef91655b31b8b7f278da022917bf4244b9a3bfb2197073e6837da5e69a1b63289c74df5008edda882f5396762679ae2ad66acfa1e88e78b016adc527479a91834dc5e23187433ad931ecdb40e02a3e376a004d4453ac6e20811a543300db4c547edbf70dce65f73a1d43e04f0051556f651c12e48a263bed1329ca293e6ff3e1e075d9ae9ba69ddd4a100b8828d769ca86598f7963277e9a0fab7a815380cf68d805af2d0a657d811ac1e905caa11802b4f458fa711e848380cc87835b71016858e79dbf63a0e2b92aa9de0b50794391916344e798cd8fdced25a4491a842c59c06b39221c867d46a29a103b0c5786871dd5a6afde6302bd582c7480ab0a0a6fe92f52187aef44e9004781a8a91a0603b6b929444f4003c33c72ca0afc31685d8cbe5782794150f31077bbe8e6651ef43a592d0fd7e48491c6e3714b800905d9ecfdb2e5ed52eaa183a9de4ee91c27c05cf0b55ce0e6e17e2ca985f10dec91346f5103420895966e486de3d434040effd70a7195c33b58a552f5e59138aac8dd40e4ae6ea7088cfe6c4f1201e03d5f677ad6fd913bf3d679b39dd6f1dd8f8b356dbf385ec24a73db92155d8204b95e4102613918ecf87381690e67923d567ea2637099eaf26b660832dcbbe77f78eee3922a7e62efd655e16c7e69b6f784b53bb585cf9e323058e11a1cea6a86e6a25753c28cf897a7415b39510de94719a26bcc9aec159a538bda927fc1103d31084433be9e06c867de32b8d0b083eb1e416ace9054d4cb4b430baa88141db50071386ba4d06b1c15ca0d72efa5b955387ca6395543c549d5e7fc65aa79b958c85dc445c7fe4b88764ca60eed323876afa31652c14be71497d85a582fd29db150304bd72f041db37b7c1aebee537ef0982cab73b65a79829dc387f9e96b0b0be6d59e48108696fd20b9a3ac3277599c72c1ad2d5d0784d575cc08668eddb71c1cc6f636ba048b0b306af4f6e7495d5e500ddc1cf96f087de43390c44a5d68e392c6e4be765523102e597a32fd05f957725acf596bd819098cb3a0f27807928e614f3c9444fe32c6b0cb678c949e3eea564f7a5c03ef965e14295b1c2256d88a5f1b565f24945e341ed70ca619031d823e99612bd17d02a7aa2008dc97db01fd2eafd3ce1277eda25b2730314ed22fa1e25a32a4a5c6ecf1995b6ca7832ab110dbbf997bdf0421284b933f28da2b24c3633846f498e0783bcc604ced9096dc537db35ad07b069a28185b14cd2339cfce19aebc0a2eb27d5e036f8c92a6d639e30e8c6705a1c5325e062f8a6a6a34ec1510bfc19cfbf673e9e8c23d4d8b806076c4321d9de3b9e86ab7f3f9b1eb80eba3ae50364839fd0c21a19eb361dabb7d616c50e4e78e8f3343d5898685aadb9613ac6f07c86de5fc2c9d2dc5c944fee637b7dad4a557fd140de006663dc86ae5221a97bcfbcca3c17d3a8c5d7ce916a2f7499851dc951bdc8fd195936a84b4932e09017ec7f80e87c99b2709e86101829671222b8baa346cd8fd8c8c87464dd386b26a64589db0a91efa3c424d1bb859164339adf4309e5d9433f494beb56c71cab3468b3468f59f75b42525bfeaea6856cca86c05929fa8df19ff191d9d1381fa95e781ea2450d1e66b24059de240efcf40521a60da9ace922811e17b375f2b725fb5c5bc48660f0845039435e4238db573d505899a467eea368ed02b80c4f60f19db85dee8cace8043114c288489313cd4f928664c56b1889dbc89a1b458ab158e18c39a410712d1075d836ff0b6e67ce84bb8174f04e21de640daf7409e9b58f9640732addcd289dae96cf51b808701e810cd77ff58aef1e82e8244c54775f30425b54b4b9e99c0c2615addc8ed9726f5eec0f51c1b1eb622155907ee5b59f4f0407c9764c33ef98c9d7e058ed8db35d5effea957d0775ae961c9d6eb59a3b066be95b0e3c7fc72be8e11b6148df7d1e50aa5b0c8c62abe4cc0cc3fc2076da7f02dd33e82944653ff22dcb1f99f11b0aa68b5936112f22c0e9c55547011e2d12972f6c027c68b67ed95b865a6e8700731f930a5c16a8f5b9b852b6f6008e7f0edbac99d6912824b4b837b61c15c1773c273ab00e583f3e6db57df6f6153584beb91045618c9b5b5f7294e3078ee3cbaa2f61d65607466190091c7eea3ddccf73caae7b30ec3eecbdf238d6678a0145f8b1702ebeb9547897dd39a5875062435521f", 0x1000}, {&(0x7f0000003b40)="0c7950909b905d0043a8e243e80d43da7fe16f4a48e705b95e004496fcb72eda1948bbe4e8de9e05d49310cfc5e6d39478d11e00f3da467074faf5cc92eacb4d184db1e647deb3ed8e51ec48b89a2bccc057cd0851f9966aa8bc01d264d29ebe5090c5e556a82e40449ddeca1bb87e72ee6d43df8ca922fecc25c41a0fc152440b30ed6950e9710dc928250ad766265e855bbf5c82536dd118b2244dbd2d999b61e04381c1441559c95fb4985abf5c3c12f29b4b64a019754357ad5b435dd050b66a5e0be0f4c1af5123989d05f2def0e75cdec6d9a58590a3609c6f68b266cc6f7cab1c94c7ab1130923fcc413381f98dad245ab04f0d2a6eb02e3a10f6eab6b9158a9bc9fb1fe1a743f92f7b86a55e2694160c1a3d45b5ac5937fa07834f4aed50e8cdceb8d7bca0dae88f4e140632bd372efbbfe01f3ca12d8d75d6f793b06602ab076ce9f6c7f776e3069a0ae923fb0a35df698ca4fa62815512fd03e5c96580192f632ec18302ceb1ef935aefbadc07b2db3f5d978a9a398e1f46b31d41b0e8f9e15d9238fada02fbb318b81823bb661a4e3327d5cbb0798ee3a0874aee5af8194d6e3868fbc9e9982ff36df65fc51f2d044d00061dc6714fe16c9841f18365f2bd271599b886f3011610d7bfe243e378fa613464d391224d0a93c51aa57c4f49747e3e4b6e01aa9295a00d74d15bca1730470328b4f92180f996df9d947cd8f8a7d612116a42e273a1e511db6ea9a0f0e27a385d7239f22e8a33d19e6f14dc8c405a4ab533f167fb2d176ce3c3b006507a95bc5bb588971792760122c921891652892558c05100b9a477c2e229f7f07f7fa2c55ffdeb2cc8035fa180f59c4b9ad170c68ce7a245c43e1f40de65aad5cb621668e71f834664ada7c234090298ec9bbadd636b1eaa08540519479513cfe8edbca402acf5d0ce8d9de30531706c4d612de615631c9dc1467ecb530a4528006a4705a310b7cbbcfd02912c46ef8b0583ac7c414abba53b6b9aea0a305fc7457f67491466de4a0d10d7631bcb13304dc9e4d2412efbb72d2471ba249f003baccbc8ec10642125f850c239a9d5b19f4bd9745d5df214adb9dab9f31caf8717245d48ef8754c1ef3db7ffb56291d907abd1d63be8ae95d28f347c11c286cbf2a265e5e0da59948dd764e07e38533f5c22e54141ce8c47c86459c6f8fbaf7745e3c7a1974fc7707f3bc99a62789c3f818b497bc1a70640e45b44890500a78ab358b50fb57c3940da3fccc16e8bcbb593a2991aee2587fa6cd6b2c2adf4f2403094ab7bd9190498ab20df4b99c9ae97bed755d6b26cf922d8d669988707013ba64cb6edd1e078e572b0bf4a6494b98b5f5763990888a5df69ba4f57f14c084ea26644e04406db8449c4811eb72cbb1959a8a3119f44ee68d9fd25c9ef86d7312d7f80f1ba9ef2a88a9bcdabbba87e971a891a0430e7da4dba55ecbdb8996ef5dea399d97b7a2463638f2672fbe4a01579d54b73e1a80e47c3054d8ebe98a57552020c063b0f79d1e2dc22fa97b73fd5156721a4314fdb0326237771554f941e578d6ae869f5c7adc8c2fa39648d778870edb9d9b20192a9e32020db75d0213c30630682d834e0f86f6f8f152775148316f3b3ffc4e96ea03c075738a5313bd1050d375575a3ad1f11ff4cb4e477157b57821dd0d3996a05514f97a12ec3c19e163e791a35af5826ebdb360b187da44dd678bd7d7ab883bdaab0cfff28c93f8e56c16dcc81270cec441761118cfa4ea13a3e202144af24868c9dca9b654c3f8b01466447144b39be37669b09cf20f7437e8eac67061ebb8f6ad11999fec5eea69885d020a7419fa509b7577ee9ff89f9fa6250151bc535ca9fce29117d2c43675af93c958747865854d4ddb1aa89acd6c31be7df486a0a30fe074ddc1e36b87b81e12f0eb5957001fc76e5b11a2a00336a3002c7465b097567a27bed5613148eacce35a96106c281e69a1fd63d07a929e8013a416a87cab388a4eca1d8ae4107257cd894da1d7dfc78a0e7d571f87198f4ea4f782302eb76836bc645af93ef5b5f1f24b5209a0aea401be9f91acb02432960b93bc13bef3d812f643c0bbf0757a58b8772fab3f95efc76723e8af47ed331f0dc5cf1092279c2f7d90f067f3b7f35e5b9f93a4848cfa66ce9636513e4fe62561c17b30d6d1295a0fe2211d15c9d90357c7e487e032d3f291b7d2eb7504dfefc1ed9a94d200860590f48caf24e2c603e42941cf74a7f8e21ece13d39459c10fd0adbda76b060567a9dcc3881bbd955430da17e3a1295ccccb209859dced2059ce55ff58fe22a56e8349e4a8920dfd7030a7d426bbf6d048d1576d2f6298e64f84116516f4e86873429de6fe37dfb2bf5087650e359ad8faa9e83581883566e472109e3b621a41fef123c240517c9255ed3b86eebafb3387da42ad2261c5f4818f9d6b6b344ed0a61f75eca3b0733a62fe29270a2345fac11458cb120421e4a588b4c5b6854366553ae1770c6c683e0684552ff9f2834780fabbd871cfb920253b68d93a54e9a1f3d0e182627b1fa3cdc7052c60c3459edcbac179fb51e32164db3f637cb3badde0f2844466d46a70f6bc89f01b5396420c26b9c431894886a805f8744407dd71d58bc522d7dc446e375451f271435e8c6f1846ded2fc4396802ab13c03aca7c66e565b1ce74436757d6bc8da09534ece2ad661d9ed3831a412719264378355e3b2e9f93a3155e8487a08ec95ed8c8a35a64e6d3681bba401713d550e15b1457b4dd87bdba109304379e55d69f53b81d1a05a12d67253981fa27261a1478601656b46bfa3ee6b5c82d7ec15add79352a882a3835667464f035e1714c193a55bc0399b21e3af228689a23ec656ad964ccd74d291f10e25eba6e30e16954eb15ab9f3e555a5176785ab22608d7279d8f8eb6083728e3296adb5bf518328eb649b6885208b7d6a70cc3be9dc0ada931293823514db239c5407797ebc8b9a8232efc5bf9d1721b7e97c96e237a9acf8d10234307bc2266127b279c008cf92d9526ca89c514953e4acd556fe480f391c36709a5826393681fc1416376af65dac19e9545f2f63010ec00e35984bc351d8df8c37f280fddcce8b26e82917c683f0f381f1df8311e5523f5108424b5538af3f1e02466e60d5a89e398a11dfe4b66817e0e064ea4ebb68805118505a56885d3e565a46c2b3df1677419c16f9513ca2bffbc5fb208a719e37090e63d58c23072e8e567a21c0b36be4997b0bc2dcf1c8b7d83bcea8a4e2527ab841841e94f54039f4e29446827806dd6c072abfcbf8b6b8b9aefae670164eb5c110b3d8788d5c215f6c7cedeb9d819c5571c49e91c15fd678f8bd268be78ff4921dfdd3dc759d158a70c07b7598e17119a1d25b00e401d272f61511fe24a170cb7040d52520561ee149635ddb44b5c7de3a222dbb7becd714619cdc6aa01aec7d1ad2b15b01b1425be57b18e3949a4756a63b80b00769a64151c3c7b3d5a912e95e3c7b0a37d75f7ff11a2651f4d195d5e122f38758d547057c68918b5819ef03b6f5daa9fe09a6e60bc6c6c42bf39a246389e2be8e1bb32219343ffce534fecfbba4f38f3eb92ce5a21458671c3d32387a3bb8d391e45ca9cc2ef5fd71cc9c380350592cc23d4a998885d17f2745fa9a5ac3e5bfdc8b51af502953fa70e3536043f3405da38c09614c527e3cd76c8db91f37d8aa1c32a7f198f7aec19ac0082607b09af54f579ca3fdcb4f279a0d7b9b751c14791b36e7df8e6616109d00671c3c026fdd8acd0acde38987a020cb4f368ad1c40e0084f1776669fedb35b58203b8162cf84e8e80594976780ff6f42255ebc75e5bed44a1081b82923aab8e16ee38dde53db8e86bea81dd85fe14fd6b9cb9570c1de39a34080c52538a4691a6fcc439322ca38f55e15d92a1d80d543e053b11ec384607f30b452b39c7d2fbf1dfbcbf5d44975d97eb14aa321ccb605be6e8d36b8780324b1ec525363db94b8e3a7ac580f172d0f25ee03a9fcba60ff62649e3351f84ea1e3afe62c49ce7a79702eaa51a7e1d1ad1bbe622dd3300e834ff773d447d005387df5c7cdcffcb1e659c2ce4b40ba14ab10e6bcac8522d7f597321ca9d9ccdf73fd862a670318a04b5bd1f83a109b9552bca63c4f89e277a6c7e36ebde58844376a9c8c9f9adeed69c5ffa534a515a31e45de444558c5cd21af3d856b7fe582507891670025f9feb863053cfa3d3e8f2cf11d887082b2c1ca7b8b093eec93f9b5b61ffa3cbba9f95c8dbdd9e8c2c73f27b8d7b5a2d98301e6fe12ef1e4be197aa3c77e3a0d51f2f9c148e7fc6cfde98863e8765e1ede621a42a81b4d6f64be3daef9beec5e17b5ee49ba1363eda35edfa23c38fb872b1f5f117f6d7e4cd9d6c9d67ec781b5e7e58513ad1c148d23193bc029f1c536f09081dc0a9cdd639899c03cfaf0261fb267ffb7f0946acc83362d4929e3b4d3f92d0d56efc7d5c845effdf47d2d61b83a1ec9a76cc38af75fca0890b86e34159777749f107105438d851af48be3c7cf69718adab071774971e48da4c30c46f6d10a7c9fab87d2fd668402338d458315f05c64f822b4634bf745f4d9055465979c5d0b870b5c6838cf1ad0c25d77fea7952b9328e3bb206169864a594eeb7743ec75dedc43bda19c8cb16569e1e76a25635db22227f75bfa333ca9d3ed4de649f446155fbd1046584a428a907f6b0898ca5c79088b75f08b184d2a1820c734da6305117b03111f81c13d92d7be9e8c75cdccb64be5a89f9af0693cab34017969c33c139a5ecf084cd32b1c3705453b9d09ec925198b9ea21fae621bb51a52232eb12c3d690c40ff24cb5714c0e4f29e28d34bb37d1b558d74b16e25ce4b7cd2d6e4a14fff140089a8c49e8339f2b32c10d4f0e7789c59b8350a866c6eaaec0fac051b67a51fdb5f449c56c6d013fe936c1ff6008bc904bdeaeb13500af481de5336fb5d829fd420009fe75cd3babc49711a102c8968f0d71f21436ab3612608ccf1f98116fdf8978f5ad0cf42208d51532c3023ec6a6f7f2f6cea5c35e364cf6823578b5fa7ebf4a42584422ea5d4035d9efdc45a37cb41a314d019c79066333b4e70421c92f64c9cab3a88c17c492ef6a08ddfd58919d4bf5c3b9105308bc24b5ec2ca76ad78d4db46b0cf4297e1ecb5cbd0d6c724b2c06365b9ef4bd636409ff243f3a6cd6195ed038952b6a3df339f8c96c7df9f4b1b3512c67bd7509c644f1ec562a954ff232ae04fd5124666db512f35dc21c05dd2bb3c80a0235545223618f1b09045729241d20d561b710be7352c009a70eccca392a770e8650c613d263cf464fc0925891ce9ca5b23e010047f3fd1722aba4e491da128f3e2b6fc16c0e86401349abd28b071d18b28efde1da0e49ea5882e718fb5d8351cff0690fb61faf52bdc699a46e86f8f22318e14c3d42e73d9b6a6dcaa680373159775ff4ec92e566d7a21bb57335120f6f1467ae085f480fe7dce980ce40050ce7678f188f6548d521aafa2e2a0d6b2d9b07bd3e2f82780e54aeb6c1b08a5e4efa321fb80311620cba7cb8937648b0fc0e6fb5fc2e56683ccab06d51319bfa50b5f2af18664f0a346f8f198682e0e404164c017f9401b8283bd334dae2abeab021629dc020f1368dac811452a056c00f1f5760f16c1ff3e0a3b2fe79241a4edc3706e943998626a69a6b1ebf06ee9bc31cc57ab8a1071f071805296993b8b0f98a79fb3e6e8218fd0862a43f70dbb2562e595e30ceab1d0dc9d8d52f33236dd3f3515fe8a22bb4b44c4", 0x1000}, {&(0x7f0000004b40)="2c0c9e0630fd99fd1a58fa80f5e0278431fcc09916b26c67fad08bf5788bc6dd49506046cf53be7068d95ae0d66af9da7976bbd358184f47d17f7597fb76662867b5cf92ef04ca44b4277779bc8a2ed24e8a32e7bc144a3c054fb2e08c35e011418ce712957825591f2fdb7b03730d2d4b34a5d7514d2e9b1055a99f5ea15272be54486688a959e826f2d078cf11c657c46a9f4571f083635803e6f930350729f5db8ded99f71592cedfea2ffe7bd1a990be5b4bc82b", 0xb6}, {&(0x7f0000004c00)="04f2e4d89dc5d595ca", 0x9}], 0x4, &(0x7f0000004c80)=[{0x18, 0x3a, 0xff, '4d'}, {0xd8, 0x1, 0x7, "7f75c17a8a6021df0d7b04151dfdb091e4fdfe348e5b49b82ab81925dc616122101f93c5408df9b141fc34b62255bc3091061f5d9df40312923abf3a0ebdf7891b69436efb57e37a27b7eca7cc42b6afc7d5e37e724342fdcc6a7f59cddb8e7b9393a94b4a02e4c23635f02b7024fdc56c061c009dd2cf9880002c3ea95254e357d01641deac6475d0d81f6a7828698669e04914b4a27e8894c6ee87769c569dbecb407e6c2b971dcc2db48f9153276df6ae37720f22bedf79314f3cb444ea2772f4662e77"}, {0xf8, 0x0, 0x492, "9d510fced9ca310e957846a8efaa91fa88b33534a07f424728ed9c158cd09debaeb0de943bd556ce58d707256975223ba15afb2f4375c9549963fc162b5892cd132e9f7f258c774abb108a187df8c5c2d70e036a348051c0c741791863e79d900aa26138b204fd68467b9596208cfc6e1b8175091acfc15bbd1c4a312a803d4920b5a4ce7d94fe832d0d9f0d369cc9e0f2bee39ea4d429d8e0d8543029aa791ccd86c6e0298a38f9c1c058ab77b5e961522332289fa402cc327d1a84392a47340bdc02130178c316e238d2eff66ea1f44c46299a75fb72d246052ec8e25773c0969844b639"}, {0xe8, 0x107, 0x40, "1f16ec42a112c3a9bde576b42e0174564442f0615eff640b81d8cb3db87566c5ae939cb5ec60a934ee9875846aad0507b6ff6ada77d18f76c3fef2be2b2e3f3d206e33dca15eff2740fef9f5e2443401f91f65cf88e7b9d8fdbbfffd2489c8d43c247b0d13266f604ede6902acf74193809fc1c680487c77754b7e0b47c03a55df382b2e566b4e0a7a41c4c06a96ef3a3c84a96dae502a16b8c42006c445bdbfe12f2f2f9e730cfe3123bd0ae62eaddef1f371faed8c5490fafe31918acc893b614c076d233b79f5f6777a0134e57a687180cf1c"}, {0xc8, 0x0, 0xa9, "629e4e4bfe6be5f2ebcecedf9e32ac1d68ca30c59cdeb7f83e3cc55efca371d207543fe48fb91d02b9e55d3e705903eebba3f01fb4be113a92c3d5fc8fc9081259456d86219dc5d4d03d2bec51f4a73fde460ec3483e3475f56f22760e12da086bd047346b9571949dbd2a538f46e59925ed74937e569b80d730777db23de00ab728672796a81f492d8b548794e82e0a2619e40afe453e22bbe7a7f7cd1394a77ff4c9b53f4109c7716a138ad74fa9326eea3473"}, {0x50, 0x107, 0x8, "e3a5374a356bc71f3703ea8e13cff079999159ec5f6155bba7e92f1c884aa1b5d0a805bce15c27f24bad53950a1361182f1bd62c9c99fe0b6b"}, {0x18, 0x101, 0x1, "fc"}, {0xc0, 0x111, 0x10001, "807ad417431dc8926a691ff96ddb153bfb8d1027adce69710790d81791f588a61d8d9f8e1b200d19f116c3793d09b625426440dfd619bf58c1dd6d10de5a35ba103d1d354880889961dcb708101be2bf959c8b2570a83843b106bbfa9eea5865869b9e0414fe6eaa182001b0bd5f58b895836d450461d520685f2a9516ed31e03f5561fc6b5789f5a88454af631fc54d5d94cfd5ad81c0eba6e856a97f1c7b38c199ae35f4348fb61298"}, {0xa0, 0x108, 0x8, "596750145f844d04230b958e7e18a631699b3b5007f0dbe74a13cd140261669611da6e68e216497dfbf14c4eac123c865ba323a73bc824c9e0881ea8d96971b664c8c85576b996fc374e4e029deedd3e8187e849ef08142d76722ba6ef3d39b647724d67057667511c2be6fc6aa96b011a1fc957fd5b20d315c3871372a7c901da238d31556b0cbaf1b80beb0bbdcc"}], 0x560}}, {{0x0, 0x0, &(0x7f00000053c0)=[{&(0x7f0000005200)="56e460c7089d656e73db6c8046eb6d", 0xf}, {&(0x7f0000005240)="85e7ae4d8fdcfe66bbeb0c86f03bef4381599a8ec9378ef0dee8a4b78bacd2065fef2db85ca651275e65b820e65bfb220091a6b63af2989ace828cf54eca79c1809bb4136c8c3cdade98f5c0f4609b58781f8e2f56412d69f66a5fca004baf556987f84d2f9ca3d6e523d7bdec9537b5c481d549759836410e59ff445a99357c2f6fdefbfb1f297b4ba10f20ad8a9dfef174c905e0f52c06063b9be42c6fac333854b8d7c7db4854a629", 0xaa}, {&(0x7f0000005300)="7b3adea89ce38831a8d43813a949a7204cda9728fd66ebc438492a98179c2ef5513593f09bbde1b7a570664d5d4211150451f02ae676dbb62e49d3669bd92ef8bdd861964789bf098d0cbaaa2d", 0x4d}, {&(0x7f0000005380)="6083083684a9b21ddf438a1f8a49d955d6ab4518", 0x14}], 0x4, &(0x7f0000005400)=[{0x90, 0x1, 0x7, "1407d577e141ab57d71c0bfef6bea9a2704c4368a553fbc1e730fd782410e1c4c80b015bc760c7770fcde34f0a26562a8181d19b7e74a90818624a87d13871fb1c96f66378f3b6f1df327ef5d80ae3214d5f13c8e0b1e2b20ae8da46f8f8264bbfccccb2b3b588caf932ac66e2f4eddeeee4df4f352c598feffe28cc61fbc695"}, {0x50, 0x104, 0x401, "ca51f6c4ade09c3e9ebb55b04cd7ae0e7aec29d2c83e01b4317107494f06a1aee499ae1027c2e13bca7bed259fdf3b728504100c9bb28fe2e80b8e"}, {0xe8, 0x111, 0x200, "b3041fb520a0ff382e642fa5b254d498e5958c5cf86b4a3b311644351d75b17ea8b050a25b19f9d191d7b0dfcc3efd614347fa54f389ee413254ac7be9a0e71c98fff4b45220d9f72e8c281314af2a3dfc73915eb98e9990a4ae861f38a828d309f82dce3a537b4e2a3b78b2a3d5066980e80e50a86ed44d570ec173613e9def91f1412b44e1be1a22ac64b7b527ac4f41803c5734d9694d9267df53216ebf5e7269eda82065c8b4395b30bf66a06e7f9463a1b8966acd971d8c565c62ed59660d3d4643f4e39bcd5a05cb9da61a166895"}, {0xd0, 0x105, 0x8000, "d6fda6093d8a5d5fa1f23f33e38c5732c036c59a17a0ea804b93338fad0a8c2758e7c801bbd0e8325dd4ad59f9116170898accfbfd74462910f8b1aadf90fd717b6ec73531307ef485d836900fb49daee5937488eb85b1116ec0cd0214602e991f25ff9fc459d64c83436ab0cdd9cbcd9374b523fd258674d15d85e5ec754572c7bb7d1e6b7338c78be9c2e6a341dead7dbc160d11c572059703914e5ee8ed68666b322b3ece815fa2d49c4188681314d1d39c980361edbd11e0550728016b15"}, {0xb8, 0xff, 0x7, "49a31b2c6f1b25d23064b8ee4818bf5fb25b40e77109fe080caad0f8b5556955fe5178f8e4bddf01f33723266190a564e9ecea062ddf48466e7f63e16078f37ef2b2422c543f738c8571036f37c44196df1e22c76ca667ec90548916c8b6e24659c870f5899a175aaf42a51dcb23fdaecb7107d9ada00e44df7c48d42355a4fd2184731e91b1a2ec75108437d22cd91f8747b8d296d87860819a27cbc0249772d1d9"}, {0xd0, 0x112, 0x2, "1bc7cd6d9048d9e8ab7ed2b329d6c4fd5eb4d80002373ac10d2b075318758ab6af6addcf1edf5c55bf865dcd5e71260b9704dd48e35d8d5b4a31b061c025b42d10b4b34e5086e26f85ac13c687efb9dc581b493af46ab6523f688886f3358cd8f57b90f8c2814b44ff791352a06bb7343c7253371155304750f1f20c59b518a5450c642ac95f9015e876ae212c3819e141843c0a1c9e1496556e5f859ea259cc2ff3e0d2d11420018bc6a86035a6d6cc23701f725546be90470109"}, {0xb8, 0x84, 0x4, "bcb6ca5b96d85e9da42540ea2529c84b728c1e42422bdb9dd90379cfa9210b7f810d00de68af49f6b29be297741f18526bd30f04560f3efa983b124c0bb7ca017ee42aee47f84a2c6e986aed789b7ac78a5a3b5934099fae264b0a276eac8aabe2c73732899ace8949a608aa344214602e93f903a519d2564af6d81c05c4ab4af7bdbbf56a56af01857e8b7993f81dff1d60ad3d1820c9ea85153f502979ce20e0df"}], 0x4d8}}], 0x3, 0x8000) 01:43:36 executing program 3: ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000f00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_io_uring_setup(0x0, &(0x7f0000000240)={0x0, 0xb201, 0x0, 0x2}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$msdos(&(0x7f0000000040), &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r1 = creat(&(0x7f0000000300)='./bus\x00', 0x2) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) r2 = open(&(0x7f0000000200)='./bus\x00', 0x0, 0x0) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r3, 0x131fb000) perf_event_open(&(0x7f0000000340)={0x0, 0x80, 0x1f, 0x3, 0x0, 0x2, 0x0, 0x400, 0x8828, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 0x0, @perf_config_ext={0x7}, 0x5202, 0x401, 0x9, 0x0, 0xfffffffffffffffa, 0x8, 0x4, 0x0, 0x7164, 0x0, 0x80000000}, 0xffffffffffffffff, 0xe, r3, 0x1) sendfile(r1, r2, 0x0, 0x8400fffffff7) 01:43:36 executing program 0: r0 = syz_usb_connect$cdc_ncm(0x0, 0x6e, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5c, 0x2, 0x1, 0x0, 0x0, 0x0, {{0x9, 0x4, 0x0, 0x0, 0x1, 0x2, 0xd, 0x0, 0x0, {{0x5}, {0x5}, {0xd}, {0x6}}, {{0x9, 0x5, 0x81, 0x3, 0x400}}}}}}]}}, 0x0) syz_usb_ep_read(r0, 0x0, 0x0, 0x0) [ 1178.354081][ T3698] loop3: detected capacity change from 0 to 264192 [ 1178.570875][ T7562] usb 5-1: new high-speed USB device number 12 using dummy_hcd [ 1178.907821][ T7562] usb 5-1: Using ep0 maxpacket: 32 [ 1179.088927][ T7562] usb 5-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 1179.127086][ T7562] usb 5-1: config 1 interface 1 altsetting 1 endpoint 0x82 has invalid wMaxPacketSize 0 [ 1179.182927][ T7562] usb 5-1: config 1 interface 1 altsetting 1 bulk endpoint 0x82 has invalid maxpacket 0 [ 1179.898545][ T7562] usb 5-1: config 1 interface 1 altsetting 1 endpoint 0x3 has invalid wMaxPacketSize 0 [ 1180.155740][ T7562] usb 5-1: config 1 interface 1 altsetting 1 bulk endpoint 0x3 has invalid maxpacket 0 01:43:38 executing program 3: perf_event_open(&(0x7f0000000180)={0x2, 0x80, 0x71, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = perf_event_open(&(0x7f00000015c0)={0x2, 0x80, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x40082406, &(0x7f0000000200)='cpu\t\t&6\n&\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1cK\xd4\xf1\xb9\x87\x1b\xf1p<\x85\xd6\xe7-\x8c\x7f|L\xcc\xf5\x95\xe9\x80Q\t\x89\x86\xd7\xb0\x17\xbe\xfa`\xbe\az3b\xa5\xbd\x80\xc8\x1b\t\xe7\x8d|\xc7\x0f[\x82\xd3\t\xe5\xa1\x8f\xa6\x98l \x14\xe7\xb6\"\xcc\xf9\xe1\x94q\x10\xab\x93[U\xbf\xd3G\xbd\xb8PC\x92\x84\xa4P\x16\xa5\x1a\xf0\xfe`\aF\xc0e\x86\xc7\xe7\xc0\xc1\xf7J\x86<\x95\xae#u\xd3n\"\xd7\x91|\x98\xe4}\xb9\xe3 \xb7\x91\xe0\v\xcc\x00_E\xa9\xa6\xcc\f\xbf\x8c\x9e\x805,\xc5\xbd\x9d\x14\x1e\x1e\x15\x1cY\xe2\xd7O\xd9\xdb\nB!\xcb^\xf9\xa3\x00\xa8<*D\xef\xf1*\xfb\xdf4\xcc\xc6\xfa\xfd\x15)\x88>,\x92\xcda(|\xd4\x885G\xd0\xde\xaf\xcb3\xc0\x80\x8d\xef5\xe7\xbeU\x1c\x84\x95DH\xa7O\xc4\xa1cCF\x86G\x1fNM\xd1\x19R\x83\xfdt\xb5\xb2r=\xf0;\x0f\xd9,K\x94\xbf\n\x9aF\xcb\x17\xad\x9a\x89\x9dg\xee\xd4}\x19\xafj\xfd\"\xad\xa0\xc4\xc2\xca ]\xcc\x17\a\x00\x00\x00\x00') [ 1180.408659][ T7562] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1180.417639][ T7562] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1180.425909][ T7562] usb 5-1: Product: syz [ 1180.430708][ T7562] usb 5-1: Manufacturer: syz [ 1180.435403][ T7562] usb 5-1: SerialNumber: syz [ 1180.809327][ T7562] cdc_ncm 5-1:1.0: bind() failure [ 1180.819523][ T7562] cdc_ncm 5-1:1.1: CDC Union missing and no IAD found [ 1180.826197][ T7562] cdc_ncm 5-1:1.1: bind() failure [ 1180.833699][ T7562] usb 5-1: USB disconnect, device number 12 01:43:39 executing program 0: r0 = syz_usb_connect$cdc_ncm(0x0, 0x6e, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5c, 0x2, 0x1, 0x0, 0x0, 0x0, {{0x9, 0x4, 0x0, 0x0, 0x1, 0x2, 0xd, 0x0, 0x0, {{0x5}, {0x5}, {0xd}, {0x6}}, {{0x9, 0x5, 0x81, 0x3, 0x400}}}}}}]}}, 0x0) syz_usb_ep_read(r0, 0x0, 0x0, 0x0) 01:43:39 executing program 3: perf_event_open(&(0x7f0000000180)={0x2, 0x80, 0x71, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = perf_event_open(&(0x7f00000015c0)={0x2, 0x80, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x40082406, &(0x7f0000000200)='cpu\t\t&6\n&\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1cK\xd4\xf1\xb9\x87\x1b\xf1p<\x85\xd6\xe7-\x8c\x7f|L\xcc\xf5\x95\xe9\x80Q\t\x89\x86\xd7\xb0\x17\xbe\xfa`\xbe\az3b\xa5\xbd\x80\xc8\x1b\t\xe7\x8d|\xc7\x0f[\x82\xd3\t\xe5\xa1\x8f\xa6\x98l \x14\xe7\xb6\"\xcc\xf9\xe1\x94q\x10\xab\x93[U\xbf\xd3G\xbd\xb8PC\x92\x84\xa4P\x16\xa5\x1a\xf0\xfe`\aF\xc0e\x86\xc7\xe7\xc0\xc1\xf7J\x86<\x95\xae#u\xd3n\"\xd7\x91|\x98\xe4}\xb9\xe3 \xb7\x91\xe0\v\xcc\x00_E\xa9\xa6\xcc\f\xbf\x8c\x9e\x805,\xc5\xbd\x9d\x14\x1e\x1e\x15\x1cY\xe2\xd7O\xd9\xdb\nB!\xcb^\xf9\xa3\x00\xa8<*D\xef\xf1*\xfb\xdf4\xcc\xc6\xfa\xfd\x15)\x88>,\x92\xcda(|\xd4\x885G\xd0\xde\xaf\xcb3\xc0\x80\x8d\xef5\xe7\xbeU\x1c\x84\x95DH\xa7O\xc4\xa1cCF\x86G\x1fNM\xd1\x19R\x83\xfdt\xb5\xb2r=\xf0;\x0f\xd9,K\x94\xbf\n\x9aF\xcb\x17\xad\x9a\x89\x9dg\xee\xd4}\x19\xafj\xfd\"\xad\xa0\xc4\xc2\xca ]\xcc\x17\a\x00\x00\x00\x00') 01:43:39 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, 0x40046207, 0x0) r1 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000000080)={0x8, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="04630440"], 0x0, 0x0, 0x0}) r2 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) dup2(r2, r0) r3 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r3, 0x40046207, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000001480)={0x8, 0x0, &(0x7f0000001380)=[@increfs={0x40046305}], 0x47, 0x0, 0x0}) mmap$binder(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x1, 0x11, r3, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000003c0)={0x90, 0x0, &(0x7f0000000540)=[@transaction={0x40406300, {0x1, 0x0, 0x0, 0x0, 0xfffffdfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, @transaction_sg={0x40486311, {0x1, 0x0, 0x0, 0x0, 0xfdfdffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x0, 0x0, 0x0}) [ 1181.365373][ T3817] binder: 3816:3817 ioctl c0306201 20001480 returned -14 [ 1181.588643][ T2561] usb 5-1: new high-speed USB device number 13 using dummy_hcd [ 1181.828435][ T2561] usb 5-1: Using ep0 maxpacket: 32 [ 1181.950700][ T2561] usb 5-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 1181.963768][ T2561] usb 5-1: config 1 interface 1 altsetting 1 endpoint 0x82 has invalid wMaxPacketSize 0 [ 1181.974263][ T2561] usb 5-1: config 1 interface 1 altsetting 1 bulk endpoint 0x82 has invalid maxpacket 0 [ 1181.984388][ T2561] usb 5-1: config 1 interface 1 altsetting 1 endpoint 0x3 has invalid wMaxPacketSize 0 [ 1181.994459][ T2561] usb 5-1: config 1 interface 1 altsetting 1 bulk endpoint 0x3 has invalid maxpacket 0 [ 1182.158776][ T2561] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1182.169245][ T2561] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1182.177062][ T2561] usb 5-1: Product: syz [ 1182.182057][ T2561] usb 5-1: Manufacturer: syz [ 1182.187325][ T2561] usb 5-1: SerialNumber: syz [ 1182.482833][ T2561] cdc_ncm 5-1:1.0: bind() failure [ 1182.493962][ T2561] cdc_ncm 5-1:1.1: CDC Union missing and no IAD found [ 1182.502579][ T2561] cdc_ncm 5-1:1.1: bind() failure [ 1182.523231][ T2561] usb 5-1: USB disconnect, device number 13 01:43:52 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, 0x40046207, 0x0) r1 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000000080)={0x8, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="04630440"], 0x0, 0x0, 0x0}) r2 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) dup2(r2, r0) r3 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r3, 0x40046207, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000001480)={0x8, 0x0, &(0x7f0000001380)=[@increfs={0x40046305}], 0x47, 0x0, 0x0}) mmap$binder(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x1, 0x11, r3, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000003c0)={0x90, 0x0, &(0x7f0000000540)=[@transaction={0x40406300, {0x1, 0x0, 0x0, 0x0, 0xfffffdfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, @transaction_sg={0x40486311, {0x1, 0x0, 0x0, 0x0, 0xfdfdffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x0, 0x0, 0x0}) 01:43:52 executing program 1: ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000f00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_io_uring_setup(0x0, &(0x7f0000000240)={0x0, 0xb201, 0x0, 0x2}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffd000/0x3000)=nil, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$msdos(&(0x7f0000000040), &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r1 = creat(&(0x7f0000000300)='./bus\x00', 0x2) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) r2 = open(&(0x7f0000000200)='./bus\x00', 0x0, 0x0) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r3, 0x131fb000) perf_event_open(&(0x7f0000000340)={0x0, 0x80, 0x1f, 0x3, 0x0, 0x2, 0x0, 0x400, 0x8828, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 0x0, @perf_config_ext={0x7}, 0x5202, 0x401, 0x9, 0x0, 0xfffffffffffffffa, 0x8, 0x4, 0x0, 0x7164, 0x0, 0x80000000}, 0xffffffffffffffff, 0xe, r3, 0x1) sendfile(r1, r2, 0x0, 0x8400fffffff7) 01:43:52 executing program 3: perf_event_open(&(0x7f0000000180)={0x2, 0x80, 0x71, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = perf_event_open(&(0x7f00000015c0)={0x2, 0x80, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x40082406, &(0x7f0000000200)='cpu\t\t&6\n&\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1cK\xd4\xf1\xb9\x87\x1b\xf1p<\x85\xd6\xe7-\x8c\x7f|L\xcc\xf5\x95\xe9\x80Q\t\x89\x86\xd7\xb0\x17\xbe\xfa`\xbe\az3b\xa5\xbd\x80\xc8\x1b\t\xe7\x8d|\xc7\x0f[\x82\xd3\t\xe5\xa1\x8f\xa6\x98l \x14\xe7\xb6\"\xcc\xf9\xe1\x94q\x10\xab\x93[U\xbf\xd3G\xbd\xb8PC\x92\x84\xa4P\x16\xa5\x1a\xf0\xfe`\aF\xc0e\x86\xc7\xe7\xc0\xc1\xf7J\x86<\x95\xae#u\xd3n\"\xd7\x91|\x98\xe4}\xb9\xe3 \xb7\x91\xe0\v\xcc\x00_E\xa9\xa6\xcc\f\xbf\x8c\x9e\x805,\xc5\xbd\x9d\x14\x1e\x1e\x15\x1cY\xe2\xd7O\xd9\xdb\nB!\xcb^\xf9\xa3\x00\xa8<*D\xef\xf1*\xfb\xdf4\xcc\xc6\xfa\xfd\x15)\x88>,\x92\xcda(|\xd4\x885G\xd0\xde\xaf\xcb3\xc0\x80\x8d\xef5\xe7\xbeU\x1c\x84\x95DH\xa7O\xc4\xa1cCF\x86G\x1fNM\xd1\x19R\x83\xfdt\xb5\xb2r=\xf0;\x0f\xd9,K\x94\xbf\n\x9aF\xcb\x17\xad\x9a\x89\x9dg\xee\xd4}\x19\xafj\xfd\"\xad\xa0\xc4\xc2\xca ]\xcc\x17\a\x00\x00\x00\x00') 01:43:52 executing program 0: r0 = syz_usb_connect$cdc_ncm(0x0, 0x6e, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5c, 0x2, 0x1, 0x0, 0x0, 0x0, {{0x9, 0x4, 0x0, 0x0, 0x1, 0x2, 0xd, 0x0, 0x0, {{0x5}, {0x5}, {0xd}, {0x6}}, {{0x9, 0x5, 0x81, 0x3, 0x400}}}}}}]}}, 0x0) syz_usb_ep_read(r0, 0x0, 0x0, 0x0) [ 1194.184099][ T3827] binder: 3824:3827 ioctl c0306201 20001480 returned -14 01:43:52 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, 0x40046207, 0x0) r1 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000000080)={0x8, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="04630440"], 0x0, 0x0, 0x0}) r2 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) dup2(r2, r0) r3 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r3, 0x40046207, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000001480)={0x8, 0x0, &(0x7f0000001380)=[@increfs={0x40046305}], 0x47, 0x0, 0x0}) mmap$binder(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x1, 0x11, r3, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000003c0)={0x90, 0x0, &(0x7f0000000540)=[@transaction={0x40406300, {0x1, 0x0, 0x0, 0x0, 0xfffffdfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, @transaction_sg={0x40486311, {0x1, 0x0, 0x0, 0x0, 0xfdfdffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x0, 0x0, 0x0}) [ 1194.241951][ T3832] binder: 3830:3832 ioctl c0306201 20001480 returned -14 01:43:52 executing program 3: perf_event_open(&(0x7f0000000180)={0x2, 0x80, 0x71, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = perf_event_open(&(0x7f00000015c0)={0x2, 0x80, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x40082406, &(0x7f0000000200)='cpu\t\t&6\n&\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1cK\xd4\xf1\xb9\x87\x1b\xf1p<\x85\xd6\xe7-\x8c\x7f|L\xcc\xf5\x95\xe9\x80Q\t\x89\x86\xd7\xb0\x17\xbe\xfa`\xbe\az3b\xa5\xbd\x80\xc8\x1b\t\xe7\x8d|\xc7\x0f[\x82\xd3\t\xe5\xa1\x8f\xa6\x98l \x14\xe7\xb6\"\xcc\xf9\xe1\x94q\x10\xab\x93[U\xbf\xd3G\xbd\xb8PC\x92\x84\xa4P\x16\xa5\x1a\xf0\xfe`\aF\xc0e\x86\xc7\xe7\xc0\xc1\xf7J\x86<\x95\xae#u\xd3n\"\xd7\x91|\x98\xe4}\xb9\xe3 \xb7\x91\xe0\v\xcc\x00_E\xa9\xa6\xcc\f\xbf\x8c\x9e\x805,\xc5\xbd\x9d\x14\x1e\x1e\x15\x1cY\xe2\xd7O\xd9\xdb\nB!\xcb^\xf9\xa3\x00\xa8<*D\xef\xf1*\xfb\xdf4\xcc\xc6\xfa\xfd\x15)\x88>,\x92\xcda(|\xd4\x885G\xd0\xde\xaf\xcb3\xc0\x80\x8d\xef5\xe7\xbeU\x1c\x84\x95DH\xa7O\xc4\xa1cCF\x86G\x1fNM\xd1\x19R\x83\xfdt\xb5\xb2r=\xf0;\x0f\xd9,K\x94\xbf\n\x9aF\xcb\x17\xad\x9a\x89\x9dg\xee\xd4}\x19\xafj\xfd\"\xad\xa0\xc4\xc2\xca ]\xcc\x17\a\x00\x00\x00\x00') 01:43:52 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, 0x40046207, 0x0) r1 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000000080)={0x8, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="04630440"], 0x0, 0x0, 0x0}) r2 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) dup2(r2, r0) r3 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r3, 0x40046207, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000001480)={0x8, 0x0, &(0x7f0000001380)=[@increfs={0x40046305}], 0x47, 0x0, 0x0}) mmap$binder(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x1, 0x11, r3, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000003c0)={0x90, 0x0, &(0x7f0000000540)=[@transaction={0x40406300, {0x1, 0x0, 0x0, 0x0, 0xfffffdfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, @transaction_sg={0x40486311, {0x1, 0x0, 0x0, 0x0, 0xfdfdffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x0, 0x0, 0x0}) [ 1194.295501][ T3837] binder: 3836:3837 ioctl c0306201 20001480 returned -14 [ 1194.321163][ T3838] loop1: detected capacity change from 0 to 264192 01:43:52 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, 0x40046207, 0x0) r1 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000000080)={0x8, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="04630440"], 0x0, 0x0, 0x0}) r2 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) dup2(r2, r0) r3 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r3, 0x40046207, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000001480)={0x8, 0x0, &(0x7f0000001380)=[@increfs={0x40046305}], 0x47, 0x0, 0x0}) mmap$binder(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x1, 0x11, r3, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000003c0)={0x90, 0x0, &(0x7f0000000540)=[@transaction={0x40406300, {0x1, 0x0, 0x0, 0x0, 0xfffffdfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, @transaction_sg={0x40486311, {0x1, 0x0, 0x0, 0x0, 0xfdfdffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x0, 0x0, 0x0}) [ 1194.386341][ T3840] binder: 3839:3840 ioctl c0306201 20001480 returned -14 01:43:52 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, 0x40046207, 0x0) r1 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000000080)={0x8, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="04630440"], 0x0, 0x0, 0x0}) r2 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) dup2(r2, r0) r3 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r3, 0x40046207, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000001480)={0x8, 0x0, &(0x7f0000001380)=[@increfs={0x40046305}], 0x47, 0x0, 0x0}) mmap$binder(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x1, 0x11, r3, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000003c0)={0x90, 0x0, &(0x7f0000000540)=[@transaction={0x40406300, {0x1, 0x0, 0x0, 0x0, 0xfffffdfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, @transaction_sg={0x40486311, {0x1, 0x0, 0x0, 0x0, 0xfdfdffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x0, 0x0, 0x0}) [ 1194.438753][ T7562] usb 5-1: new high-speed USB device number 14 using dummy_hcd [ 1194.528592][ T37] audit: type=1804 audit(1641433432.302:782): pid=3838 uid=0 auid=4294967295 ses=4294967295 subj=root:sysadm_r:sysadm_t op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/syzkaller-testdir211432084/syzkaller.5XOU8h/989/file1/bus" dev="loop1" ino=1048770 res=1 errno=0 [ 1194.562741][ T3842] binder: 3841:3842 ioctl c0306201 20001480 returned -14 [ 1194.689122][ T7562] usb 5-1: Using ep0 maxpacket: 32 [ 1194.840309][ T7562] usb 5-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 1194.857310][ T7562] usb 5-1: config 1 interface 1 altsetting 1 endpoint 0x82 has invalid wMaxPacketSize 0 [ 1194.878769][ T7562] usb 5-1: config 1 interface 1 altsetting 1 bulk endpoint 0x82 has invalid maxpacket 0 [ 1194.892522][ T7562] usb 5-1: config 1 interface 1 altsetting 1 endpoint 0x3 has invalid wMaxPacketSize 0 [ 1194.906036][ T7562] usb 5-1: config 1 interface 1 altsetting 1 bulk endpoint 0x3 has invalid maxpacket 0 01:43:52 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, 0x40046207, 0x0) r1 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000000080)={0x8, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="04630440"], 0x0, 0x0, 0x0}) r2 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) dup2(r2, r0) r3 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r3, 0x40046207, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000001480)={0x8, 0x0, &(0x7f0000001380)=[@increfs={0x40046305}], 0x47, 0x0, 0x0}) mmap$binder(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x1, 0x11, r3, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000003c0)={0x90, 0x0, &(0x7f0000000540)=[@transaction={0x40406300, {0x1, 0x0, 0x0, 0x0, 0xfffffdfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, @transaction_sg={0x40486311, {0x1, 0x0, 0x0, 0x0, 0xfdfdffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x0, 0x0, 0x0}) 01:43:52 executing program 3: perf_event_open(&(0x7f00000004c0)={0x2, 0x80, 0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) uname(&(0x7f0000000000)=""/100) [ 1195.098652][ T7562] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1195.105570][ T3847] binder: 3844:3847 ioctl c0306201 20001480 returned -14 [ 1195.151108][ T7562] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1195.160483][ T7562] usb 5-1: Product: syz [ 1195.166579][ T7562] usb 5-1: Manufacturer: syz [ 1195.173460][ T7562] usb 5-1: SerialNumber: syz [ 1195.468666][ T7562] cdc_ncm 5-1:1.0: bind() failure [ 1195.480594][ T7562] cdc_ncm 5-1:1.1: CDC Union missing and no IAD found [ 1195.492609][ T7562] cdc_ncm 5-1:1.1: bind() failure [ 1195.506682][ T7562] usb 5-1: USB disconnect, device number 14 01:43:53 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000600), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_GET(r0, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000680)={&(0x7f0000000640)={0x34, r1, 0x1, 0x0, 0x0, {}, [@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}]}, 0x34}}, 0x0) 01:43:53 executing program 1: r0 = socket$inet(0x2, 0x3, 0x2) setsockopt$inet_int(r0, 0x0, 0xca, &(0x7f0000000000)=0x10001, 0x10) 01:43:53 executing program 2: timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000040)) r0 = syz_open_dev$usbmon(&(0x7f0000000380), 0x0, 0x0) ioctl$MON_IOCX_GET(r0, 0x40189206, &(0x7f0000000080)={0x0, 0x0}) ioctl$MON_IOCH_MFLUSH(r0, 0x9208, 0x0) timer_create(0x0, &(0x7f0000000100)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000300)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_settime(0x0, 0x0, &(0x7f0000000140)={{0x0, 0x3938700}, {0x0, 0x989680}}, 0x0) 01:43:53 executing program 0: perf_event_open(&(0x7f00000004c0)={0x2, 0x80, 0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = io_uring_setup(0x33aa, &(0x7f0000000340)) io_uring_register$IORING_REGISTER_EVENTFD_ASYNC(r0, 0x7, 0x0, 0x1) 01:43:53 executing program 1: r0 = syz_init_net_socket$nl_rdma(0x10, 0x3, 0x10) sendmsg$netlink(r0, &(0x7f0000001ac0)={0x0, 0x0, &(0x7f0000000800)=[{&(0x7f0000000000)={0x118, 0x1d, 0x1, 0x0, 0x0, "", [@nested={0x106, 0x0, 0x0, 0x1, [@typed={0xc, 0x1, 0x0, 0x0, @u64}, @typed={0xc, 0xd, 0x0, 0x0, @u64}, @generic="50bb2d6f67d29d6fabadb107d0def49c88ea04abde1d5e8d3fb22a1b5046778bdafefc46b0449ade68bf84b36ec72dd71265fc2e882348c26c2126237dd5b37f5ae655b1086cda40e00aec58754734be31d750351dc076eb47d96219c08c029d1608a487f26fbe816b89f7cb81bff81a8b7a82565856555ee923c65973deb0a99b962bc0fe94a3fcae3697bd7b85b3a682167c43dbf137115a40ebddcad74875cf0d972df9e99f07976773f4d98fe3fa370d47eb640dc5061dc35817c8a66c29be82fdc2f4393c05a007d12b505a84dfdb98d568175b62421d726d1e5331e1ddfd4d770b57e091511131"]}]}, 0x118}], 0x1}, 0x0) 01:43:53 executing program 3: perf_event_open(&(0x7f0000000200)={0x2, 0x80, 0x42, 0x8001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r0, &(0x7f0000000140)=[{&(0x7f00000003c0)="580000001400192340834b80040d8c5602067f0200ff000000000000000058000b4824ca945f64009400ff0325010ebc000000000000008000f0fffeffe809005300fff5dd00000010000100020708000000000005000000", 0x58}], 0x1) [ 1196.020712][ T3858] netlink: 'syz-executor.1': attribute type 1 has an invalid length. [ 1196.029192][ T3858] netlink: 'syz-executor.1': attribute type 13 has an invalid length. [ 1196.037366][ T3858] netlink: 236 bytes leftover after parsing attributes in process `syz-executor.1'. 01:43:53 executing program 1: r0 = syz_init_net_socket$nl_rdma(0x10, 0x3, 0x10) sendmsg$netlink(r0, &(0x7f0000001ac0)={0x0, 0x0, &(0x7f0000000800)=[{&(0x7f0000000000)={0x118, 0x1d, 0x1, 0x0, 0x0, "", [@nested={0x106, 0x0, 0x0, 0x1, [@typed={0xc, 0x1, 0x0, 0x0, @u64}, @typed={0xc, 0xd, 0x0, 0x0, @u64}, @generic="50bb2d6f67d29d6fabadb107d0def49c88ea04abde1d5e8d3fb22a1b5046778bdafefc46b0449ade68bf84b36ec72dd71265fc2e882348c26c2126237dd5b37f5ae655b1086cda40e00aec58754734be31d750351dc076eb47d96219c08c029d1608a487f26fbe816b89f7cb81bff81a8b7a82565856555ee923c65973deb0a99b962bc0fe94a3fcae3697bd7b85b3a682167c43dbf137115a40ebddcad74875cf0d972df9e99f07976773f4d98fe3fa370d47eb640dc5061dc35817c8a66c29be82fdc2f4393c05a007d12b505a84dfdb98d568175b62421d726d1e5331e1ddfd4d770b57e091511131"]}]}, 0x118}], 0x1}, 0x0) 01:43:53 executing program 0: syz_usb_connect$hid(0x0, 0x36, &(0x7f00000000c0)=ANY=[@ANYBLOB="12010003000000086a05c70040000102030109022400010100000009040000000301000009210000000122b40623"], &(0x7f0000000040)={0x0, 0x0, 0x0, 0x0}) 01:43:53 executing program 3: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r0, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f0000000200)=[@in={0x2, 0x0, @private=0xa010100}]}, &(0x7f0000000180)=0x10) r1 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f00000001c0)=0x8) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x7d, &(0x7f00000000c0)={r2, @in={{0x2, 0x0, @empty}}}, 0x9c) [ 1196.088966][ T3935] netlink: 'syz-executor.1': attribute type 1 has an invalid length. [ 1196.098866][ T3935] netlink: 'syz-executor.1': attribute type 13 has an invalid length. 01:43:54 executing program 3: r0 = open$dir(&(0x7f0000000000)='./file0\x00', 0x200200, 0x68) r1 = syz_mount_image$ext4(&(0x7f0000000040)='ext3\x00', &(0x7f0000000080)='./file0\x00', 0xffffffffb2bca16d, 0x5, &(0x7f0000000340)=[{&(0x7f00000000c0)="040b2cfce339121014792e14e9c981b1f48420d3824e93c2ed357693df", 0x1d, 0xfffffffffffffff8}, {&(0x7f0000000100)="428ce9a619cfba3d1da2ff48df573520b928be88d4d1f258308ba931a6a20bca05c0babfff5bd4dacdcc679ff760ff84e9eb731ca95cf4ac771b35461a52815494e067ca26e022c48038c425b7", 0x4d, 0x1ff}, {&(0x7f0000000180)="20ad0b05544b099df7f394d97b5435dcc7f5f7d8e20d801586087b817e3758a7705b253c96865d08e9587d4fa1936d7426d104af317b4bad83ccf10fe08679dea8d47888c252f5a81293b15e344774289a94a4be134750e3d294e3f5", 0x5c, 0x4}, {&(0x7f0000000200)="af1f43d15b8882a04b3595ea91d09281dc6bc01d76aa39e61a54b1e3d59cca0eae1826011722127873248fd78ecbd52bc2d865ef9e7ba169f2c185f59263b383544207365a2fea4321a149ae62624779e0f78d6942808e8170f5d20d704ab49fe99596fe8f4a5dd323e098dd9cbcdfd0afa9e3b40e172b66f5fb146ee87bd62ce9988a6c2095c5504d04cd72bd59e93368f2cb69fac59a3be3d6f079a571c4939e13", 0xa2, 0x1809}, {&(0x7f00000002c0)="5a708179b80a5eadf693db65f5780b9a1302b1aa836cfda32b3d48f8c73aaa49d2cdac4c84c1790f93a13c129dc7c0ab502e6619ddc36f62d61523752f63d178d82eee1afac0cfb4647f29c16e96c719f4f64023897d84f5a1c3228f5bff76e0e6ca854203eb7799580e7487b7320de84692380e922c39", 0x77, 0x8}], 0x4a0, &(0x7f00000003c0)={[{@stripe={'stripe', 0x3d, 0x80}}, {@prjquota}, {@grpquota}, {@data_err_abort}, {@oldalloc}, {@usrjquota}, {}, {@jqfmt_vfsold}], [{@rootcontext={'rootcontext', 0x3d, 'staff_u'}}, {@subj_role}, {@smackfstransmute={'smackfstransmute', 0x3d, '*'}}, {@appraise_type}, {@appraise}, {@appraise}, {@appraise_type}]}) mkdirat(r1, &(0x7f00000004c0)='./file0\x00', 0xcc) linkat(r1, &(0x7f0000000500)='./file0\x00', r0, &(0x7f0000000540)='./file1\x00', 0x0) r2 = syz_mount_image$ext4(&(0x7f0000000580)='ext2\x00', &(0x7f00000005c0)='./file0\x00', 0x4, 0x3, &(0x7f0000000880)=[{&(0x7f0000000600)="c5414708262489f0c034e28e6793e6f2368e06ca471c7187c671cf8bfc2baa5ead6a77fb549524f5d4e074e0cf19497acdfd271528bc1471969ff54ae8e1929e14fb642882a3dcc3a7e26f", 0x4b, 0x9}, {&(0x7f0000000680)="2c8aaac42816bff225e3334265035ec7a7f858a515a4738e0eebcf22310a920afd1d45a1c7b4a7e73b0b061bc961f461f1d65e151a24a734b94b416989ded9bd1e9b51a8ef61c871dc075018c931eda5576bb601f4d4f63265462f850c066bf6712fd350226a5267779d6fcf3100a6f363ccba0e8d3547e742764d580aa4cb0142b3c5b6705f8a48c1ae8a86c3f51e5b3b6fbadc3e49baae0bacd53a54a2538b525c43fffcff07a635569a9ae51578db2ae504fa5de89ca74c16cf8e68fc8e46d0c9781bf797600be88178fc29e58280ebd9ed28b44f238351a03aa50f5f6dc596def14f", 0xe4, 0x7}, {&(0x7f0000000780)="67a4b69a62c278622d89872ff08829b2daadfc99d9959f0c5994566919a703707a09987aca038a735ebaa78d1a62a75deb4dc4b1545a835e4e1d213f8691c095528e2fadbe4746150ddb71fd7ab4e7588bdc427188032de8fcdddbd0f7631f641e2cf940b0d24211810cc0d9a09fcb214ad898e55124802d2598bbeeea29a569b90391fb0cba94bf2e4f984a3831fce073baa999fe01d85472409b1d8e797b85df8444f675440a1caea0386719101624c6cc56b9d8b4091c1aaad61b5c207d718bc1787f9f6915632ae0", 0xca, 0xffffffff}], 0x8000, &(0x7f0000000900)={[{@journal_dev={'journal_dev', 0x3d, 0x2}}, {@grpjquota_path={'grpjquota', 0x3d, './file1'}}], [{@obj_role={'obj_role', 0x3d, '^'}}, {@smackfshat={'smackfshat', 0x3d, 'usrjquota='}}]}) socket$xdp(0x2c, 0x3, 0x0) r3 = openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000980), 0x4000) ioctl$FS_IOC_GET_ENCRYPTION_NONCE(r3, 0x8010661b, &(0x7f00000009c0)) ioctl$SNDRV_TIMER_IOCTL_PARAMS(r3, 0x40505412, &(0x7f0000000a00)={0x1, 0x1ff, 0x2be, 0x0, 0x3}) ioctl$BTRFS_IOC_SYNC(r2, 0x9408, 0x0) ioctl$SNDRV_TIMER_IOCTL_NEXT_DEVICE(r3, 0xc0145401, &(0x7f0000000a80)={0x0, 0x1, 0x7, 0x0, 0x80000000}) r4 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000ac0), 0x1, 0x0) ioctl$SNDRV_TIMER_IOCTL_NEXT_DEVICE(r4, 0xc0145401, &(0x7f0000000b00)={0x0, 0x2, 0x9d, 0x1, 0x2}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r1, 0x81f8943c, &(0x7f0000000b40)) ioctl$SNDRV_TIMER_IOCTL_GINFO(r4, 0xc0f85403, &(0x7f0000000e00)={{0xffffffffffffffff, 0x1, 0x989, 0x2, 0x6}, 0x1, 0x1ff, 'id1\x00', 'timer1\x00', 0x0, 0x9, 0x3f, 0x0, 0x1}) socketpair(0x1e, 0x0, 0x7, &(0x7f0000000f00)) rt_sigaction(0x9, &(0x7f0000000fc0)={&(0x7f0000000f40)="f2470f79cfc482791e2a0f8bbf0000006667660f382115c8565d20c42281a75e2bc15c5400000f1c729cc421fa70ddd8653e26abc4217a7ff7", 0x10000000, &(0x7f0000000f80)="40de5660f30f42ab000013bc460f01ded95caebef2ae430ff3cb260ff98cff00000000c401f9f7f7f367266767d9fec4027978e1", {[0x80]}}, 0x0, 0x8, &(0x7f0000001000)) 01:43:54 executing program 2: r0 = socket$kcm(0x10, 0x3, 0x10) sendmsg$kcm(r0, &(0x7f0000002c80)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000080)="140000002f00052dd25a80648c63940d0124fc00", 0x14}], 0x1}, 0x0) [ 1196.123516][ T3935] netlink: 236 bytes leftover after parsing attributes in process `syz-executor.1'. [ 1196.132031][ T3968] loop3: detected capacity change from 0 to 264192 01:43:54 executing program 2: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x18, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000660000000f000000000000000100000001000000004000000040000020000000daf4655fdaf4655f0100ffff53ef010001000000d9f4655f000000000000000001000000000000000b0000000002000028020000028400001b0000000000000000000000000000000000000073797a6b616c6c6572000000000000002f746d702f73797a2d696d61676567656e37313539353330323300"/192, 0xc0, 0x400}, {&(0x7f0000010100)="0000000000000000000000006a641059655a4e10bf1130ee7fdbd1e0010000000c00000000000000d9f4655f00"/64, 0x40, 0x4e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000200020000100000000000000000000000000000000000000000000003000000000000000", 0x40, 0x540}, {&(0x7f0000010300)="02000000030000000400000066000f000300040000000000000000000f007f5c", 0x20, 0x800}, {&(0x7f0000010400)="ffffff03000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000d9f4655fd9f4655fd9f4655f00"/4128, 0x1020, 0x1000}, {&(0x7f0000011500)="ed41000000080000d9f4655fdaf4655fdaf4655f00000000000004000400000000000000050000000c00"/64, 0x40, 0x2200}, {&(0x7f0000011600)="200000007412ab417412ab4100000000d9f4655f00"/32, 0x20, 0x2280}, {&(0x7f0000011700)="c041000000380000d9f4655fd9f4655fd9f4655f00000000000002001c00000000000000000000000d0000000e0000000f0000001000000011000000120000001300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000d9f4655f000000000000000000000000000002ea00"/192, 0xc0, 0x3400}, {&(0x7f0000011800)="ed4100003c000000daf4655fdaf4655fdaf4655f0000000000000200000000000000001003000000020000000d0000001000050166696c65300000000e0000002800050766696c653100000000000000000000000000000000000000000000000000000002010b1b000000000000000000000000000000000000000000000000200000007412ab417412ab417412ab41daf4655f7412ab410000000000000000000002ea04070000000000000000000000000000646174610000000000000000", 0xc0, 0x3600}, {&(0x7f0000011900)="ed8100001a040000daf4655fdaf4655fdaf4655f000000000000010004000000000000000100000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039c34d38000000000000000000000000000000000000000000000000200000007412ab417412ab417412ab41daf4655f7412ab410000000000000000", 0xa0, 0x3800}, {&(0x7f0000011a00)="ffa1000026000000daf4655fdaf4655fdaf4655f00000000000001000000000000000000010000002f746d702f73797a2d696d61676567656e3731353935333032332f66696c65302f66696c65300000000000000000000000000000000000000000000026908b44000000000000000000000000000000000000000000000000200000007412ab417412ab417412ab41daf4655f7412ab410000000000000000", 0xa0, 0x3a00}, {&(0x7f0000011b00)="ed8100000a000000daf4655fdaf4655fdaf4655f000000000000010000000000000000100100000073797a6b616c6c6572730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aa02805e000000000000000000000000000000000000000000000000200000007412ab417412ab417412ab41daf4655f7412ab410000000000000000000002ea040700000000000000000000000000006461746106015401000000000600000000000000786174747231000006014c0100000000060000000000000078617474723200"/256, 0x100, 0x3c00}, {&(0x7f0000011c00)="0000000000000000000000000000000078617474723200007861747472310000ed81000028230000daf4655fdaf4655fdaf4655f0000000000000200140000000000000001000000150000001600000017000000180000001900000000000000000000000000000000000000000000000000000000000000000000000000000000000000cb34f3d3000000000000000000000000000000000000000000000000200000007412ab417412ab417412ab41daf4655f7412ab410000000000000000", 0xc0, 0x3de0}, {&(0x7f0000011d00)="ed81000064000000daf4655fdaf4655fdaf4655f000000000000010000000000000000100100000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c91b90e27000000000000000000000000000000000000000000000000200000007412ab417412ab417412ab41daf4655f7412ab410000000000000000000002ea04073401000000002800000000000000646174610000000000000000", 0xc0, 0x4000}, {&(0x7f0000011e00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00lersyzkallersyzkallersyzkallersyzkallers', 0x40, 0x41c0}, {&(0x7f0000011f00)="020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c65300000000f0000001000050166696c6531000000100000001000050166696c6532000000100000001000050166696c6533000000110000009407090166696c652e636f6c64000000", 0x80, 0x6000}, {&(0x7f0000012000)="0b0000000c0001022e000000020000000c0002022e2e000000000000e8070000", 0x20, 0x6800}, {&(0x7f0000012100)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x7000}, {&(0x7f0000012200)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x7800}, {&(0x7f0000012300)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x8000}, {&(0x7f0000012400)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x8800}, {&(0x7f0000012500)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x9000}, {&(0x7f0000012600)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x9800}, {&(0x7f0000012700)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0xa000}], 0x0, &(0x7f0000012c00)) 01:43:54 executing program 1: r0 = syz_init_net_socket$nl_rdma(0x10, 0x3, 0x10) sendmsg$netlink(r0, &(0x7f0000001ac0)={0x0, 0x0, &(0x7f0000000800)=[{&(0x7f0000000000)={0x118, 0x1d, 0x1, 0x0, 0x0, "", [@nested={0x106, 0x0, 0x0, 0x1, [@typed={0xc, 0x1, 0x0, 0x0, @u64}, @typed={0xc, 0xd, 0x0, 0x0, @u64}, @generic="50bb2d6f67d29d6fabadb107d0def49c88ea04abde1d5e8d3fb22a1b5046778bdafefc46b0449ade68bf84b36ec72dd71265fc2e882348c26c2126237dd5b37f5ae655b1086cda40e00aec58754734be31d750351dc076eb47d96219c08c029d1608a487f26fbe816b89f7cb81bff81a8b7a82565856555ee923c65973deb0a99b962bc0fe94a3fcae3697bd7b85b3a682167c43dbf137115a40ebddcad74875cf0d972df9e99f07976773f4d98fe3fa370d47eb640dc5061dc35817c8a66c29be82fdc2f4393c05a007d12b505a84dfdb98d568175b62421d726d1e5331e1ddfd4d770b57e091511131"]}]}, 0x118}], 0x1}, 0x0) [ 1196.189957][ T3972] loop2: detected capacity change from 0 to 512 [ 1196.193492][ T3973] netlink: 'syz-executor.1': attribute type 1 has an invalid length. [ 1196.208662][ T3973] netlink: 'syz-executor.1': attribute type 13 has an invalid length. 01:43:54 executing program 3: r0 = openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000300), 0x0) ioctl$SNDRV_TIMER_IOCTL_GSTATUS(r0, 0xc0505405, &(0x7f0000000080)) [ 1196.219339][ T3973] netlink: 236 bytes leftover after parsing attributes in process `syz-executor.1'. [ 1196.239685][ T3972] EXT4-fs (loop2): mounted filesystem without journal. Opts: ,errors=continue. Quota mode: none. 01:43:54 executing program 3: r0 = openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000300), 0x0) ioctl$SNDRV_TIMER_IOCTL_GSTATUS(r0, 0xc0505405, &(0x7f0000000080)) [ 1196.378494][ T38] usb 5-1: new high-speed USB device number 15 using dummy_hcd [ 1196.618683][ T38] usb 5-1: Using ep0 maxpacket: 8 [ 1196.790591][ T38] usb 5-1: unable to get BOS descriptor or descriptor too short [ 1196.889291][ T38] usb 5-1: config 1 has an invalid descriptor of length 35, skipping remainder of the config [ 1197.078688][ T38] usb 5-1: New USB device found, idVendor=056a, idProduct=00c7, bcdDevice= 0.40 [ 1197.087179][ T38] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1197.095855][ T38] usb 5-1: Product: syz [ 1197.100146][ T38] usb 5-1: Manufacturer: syz [ 1197.104871][ T38] usb 5-1: SerialNumber: syz [ 1197.151410][ T38] usbhid 5-1:1.0: couldn't find an input interrupt endpoint [ 1197.354404][ T3317] usb 5-1: USB disconnect, device number 15 01:43:55 executing program 1: r0 = syz_init_net_socket$nl_rdma(0x10, 0x3, 0x10) sendmsg$netlink(r0, &(0x7f0000001ac0)={0x0, 0x0, &(0x7f0000000800)=[{&(0x7f0000000000)={0x118, 0x1d, 0x1, 0x0, 0x0, "", [@nested={0x106, 0x0, 0x0, 0x1, [@typed={0xc, 0x1, 0x0, 0x0, @u64}, @typed={0xc, 0xd, 0x0, 0x0, @u64}, @generic="50bb2d6f67d29d6fabadb107d0def49c88ea04abde1d5e8d3fb22a1b5046778bdafefc46b0449ade68bf84b36ec72dd71265fc2e882348c26c2126237dd5b37f5ae655b1086cda40e00aec58754734be31d750351dc076eb47d96219c08c029d1608a487f26fbe816b89f7cb81bff81a8b7a82565856555ee923c65973deb0a99b962bc0fe94a3fcae3697bd7b85b3a682167c43dbf137115a40ebddcad74875cf0d972df9e99f07976773f4d98fe3fa370d47eb640dc5061dc35817c8a66c29be82fdc2f4393c05a007d12b505a84dfdb98d568175b62421d726d1e5331e1ddfd4d770b57e091511131"]}]}, 0x118}], 0x1}, 0x0) 01:43:55 executing program 0: r0 = socket$kcm(0x10, 0x2, 0x4) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$kcm(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f0000000380)="480000001400e702095f9f95274b0a0002845865400402000000000000006fab078a6a36d47a56aa68c6f8c36d96bd7c497626ff00034000d90000000000000000634310e68b0c89", 0x48}], 0x1}, 0x0) 01:43:55 executing program 2: syz_mount_image$msdos(&(0x7f0000000080), &(0x7f0000000000)='./file0\x00', 0xffc00004, 0x2, &(0x7f0000000100)=[{&(0x7f0000000040)="040800090000ff01e66174000404090a0200027400f8", 0x16}, {&(0x7f00000000c0)="dbed7d4cac17", 0x6, 0x1f}], 0x0, &(0x7f0000000140)={[{@dots}, {@nodots}]}) 01:43:55 executing program 3: r0 = openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000300), 0x0) ioctl$SNDRV_TIMER_IOCTL_GSTATUS(r0, 0xc0505405, &(0x7f0000000080)) [ 1197.879638][ T3985] loop2: detected capacity change from 0 to 264192 [ 1197.891621][ T3988] netlink: 'syz-executor.1': attribute type 1 has an invalid length. 01:43:55 executing program 3: r0 = openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000300), 0x0) ioctl$SNDRV_TIMER_IOCTL_GSTATUS(r0, 0xc0505405, &(0x7f0000000080)) [ 1197.907957][ T3988] netlink: 'syz-executor.1': attribute type 13 has an invalid length. [ 1197.918223][ T3988] netlink: 236 bytes leftover after parsing attributes in process `syz-executor.1'. [ 1197.918740][ T3985] FAT-fs (loop2): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 01:43:55 executing program 1: syz_emit_ethernet(0x7a, &(0x7f0000000080)={@broadcast, @link_local, @void, {@ipv6={0x86dd, @gre_packet={0x0, 0x6, "fbde20", 0x8, 0x2f, 0x0, @remote, @local, {[], {{0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x1, 0x88be}, {0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x802}, {}, {0x8, 0x88c0}}}}}}}, 0x0) 01:43:55 executing program 3: r0 = socket$packet(0x11, 0x2, 0x300) fgetxattr(r0, &(0x7f0000000000)=@known='system.sockprotoname\x00', &(0x7f0000000080)=""/3, 0x3) 01:43:55 executing program 2: syz_mount_image$msdos(&(0x7f0000000080), &(0x7f0000000000)='./file0\x00', 0xffc00004, 0x2, &(0x7f0000000100)=[{&(0x7f0000000040)="040800090000ff01e66174000404090a0200027400f8", 0x16}, {&(0x7f00000000c0)="dbed7d4cac17", 0x6, 0x1f}], 0x0, &(0x7f0000000140)={[{@dots}, {@nodots}]}) 01:43:55 executing program 0: r0 = socket$kcm(0x10, 0x2, 0x4) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$kcm(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f0000000380)="480000001400e702095f9f95274b0a0002845865400402000000000000006fab078a6a36d47a56aa68c6f8c36d96bd7c497626ff00034000d90000000000000000634310e68b0c89", 0x48}], 0x1}, 0x0) 01:43:55 executing program 3: r0 = socket$inet6_udp(0xa, 0x2, 0x0) sendmsg$inet(r0, &(0x7f0000000780)={&(0x7f0000000080)={0x2, 0x4e21, @empty=0xe0000000}, 0x10, 0x0, 0x0, &(0x7f0000000680)=[@ip_pktinfo={{0x1c, 0x0, 0x8, {0x0, @dev={0xac, 0x14, 0x14, 0x13}, @broadcast}}}, @ip_retopts={{0x1c, 0x0, 0x7, {[@noop, @generic={0x7, 0x9, "f8906a958f04de"}]}}}], 0x40}, 0x0) 01:43:55 executing program 1: io_setup(0x7, &(0x7f0000000080)=0x0) r1 = socket$alg(0x26, 0x5, 0x0) r2 = openat$vimc1(0xffffffffffffff9c, &(0x7f0000000700), 0x2, 0x0) io_submit(r0, 0x2, &(0x7f0000000600)=[&(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, r1, 0x0}, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x5, 0x0, r2, 0x0}]) 01:43:55 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f0000000040)=@base={0x10, 0x0, 0x0, 0x8}, 0x48) 01:43:55 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000080)={0xb, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x19}]}, &(0x7f0000000400)='GPL\x00', 0x6, 0x95, &(0x7f0000000240)=""/149, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 01:43:55 executing program 0: r0 = socket$kcm(0x10, 0x2, 0x4) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$kcm(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f0000000380)="480000001400e702095f9f95274b0a0002845865400402000000000000006fab078a6a36d47a56aa68c6f8c36d96bd7c497626ff00034000d90000000000000000634310e68b0c89", 0x48}], 0x1}, 0x0) 01:43:55 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000002c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a09000000000000000000000000000900010073797a3000000000080002400000000214000000110001"], 0x50}}, 0x0) close(r0) [ 1198.088615][ T4009] loop2: detected capacity change from 0 to 264192 [ 1198.115717][ T4009] FAT-fs (loop2): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 01:43:56 executing program 2: syz_mount_image$msdos(&(0x7f0000000080), &(0x7f0000000000)='./file0\x00', 0xffc00004, 0x2, &(0x7f0000000100)=[{&(0x7f0000000040)="040800090000ff01e66174000404090a0200027400f8", 0x16}, {&(0x7f00000000c0)="dbed7d4cac17", 0x6, 0x1f}], 0x0, &(0x7f0000000140)={[{@dots}, {@nodots}]}) 01:43:56 executing program 1: r0 = socket$inet6(0xa, 0x3, 0x3) getsockopt$inet_IP_IPSEC_POLICY(r0, 0x3a, 0x10, 0x0, 0x0) 01:43:56 executing program 0: r0 = socket$kcm(0x10, 0x2, 0x4) perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$kcm(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f0000000380)="480000001400e702095f9f95274b0a0002845865400402000000000000006fab078a6a36d47a56aa68c6f8c36d96bd7c497626ff00034000d90000000000000000634310e68b0c89", 0x48}], 0x1}, 0x0) 01:43:56 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000002c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a09000000000000000000000000000900010073797a3000000000080002400000000214000000110001"], 0x50}}, 0x0) close(r0) 01:43:56 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000002c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a09000000000000000000000000000900010073797a3000000000080002400000000214000000110001"], 0x50}}, 0x0) close(r0) 01:43:56 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) sendmmsg$inet(r0, &(0x7f0000002100)=[{{&(0x7f0000000040)={0x2, 0x0, @loopback}, 0x10, &(0x7f0000000000)=[{&(0x7f0000000140)="d704", 0x2}], 0x1}}, {{&(0x7f0000000080)={0x2, 0x0, @multicast2}, 0xf, 0x0, 0x0, &(0x7f0000000180)=[@ip_retopts={{0x14, 0x0, 0x7, {[@noop, @ssrr={0x89, 0x3}]}}}], 0x18}}], 0x2, 0x0) 01:43:56 executing program 2: syz_mount_image$msdos(&(0x7f0000000080), &(0x7f0000000000)='./file0\x00', 0xffc00004, 0x2, &(0x7f0000000100)=[{&(0x7f0000000040)="040800090000ff01e66174000404090a0200027400f8", 0x16}, {&(0x7f00000000c0)="dbed7d4cac17", 0x6, 0x1f}], 0x0, &(0x7f0000000140)={[{@dots}, {@nodots}]}) 01:43:56 executing program 0: pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) flock(r0, 0x5) flock(r1, 0x2) flock(r1, 0x2) 01:43:56 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000002c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a09000000000000000000000000000900010073797a3000000000080002400000000214000000110001"], 0x50}}, 0x0) close(r0) 01:43:56 executing program 1: r0 = openat(0xffffffffffffff9c, &(0x7f0000000440)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x1, 0x0, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000200)=@newtaction={0x4c, 0x30, 0x1, 0x0, 0x0, {}, [{0x38, 0x1, [@m_ipt={0x34, 0x1, 0x0, 0x0, {{0x8}, {0xc, 0x2, 0x0, 0x1, [@TCA_IPT_INDEX={0x8}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x4c}}, 0x0) [ 1198.253966][ T4026] loop2: detected capacity change from 0 to 264192 01:43:56 executing program 1: r0 = syz_open_dev$vim2m(&(0x7f0000000000), 0x4, 0x2) ioctl$vim2m_VIDIOC_DQBUF(r0, 0xc0585611, &(0x7f0000000040)={0x0, 0x3, 0x4, 0x0, 0x0, {}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "b8e2fcf2"}}) 01:43:56 executing program 3: openat2$dir(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080)={0x41}, 0x75) [ 1198.294322][ T4026] FAT-fs (loop2): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 01:43:56 executing program 1: r0 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000100)={0x2, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x7, 0x0, 0x0, 0x0, @in={0x2, 0x0, @loopback}}, @sadb_sa={0x2}]}, 0x38}}, 0x0) 01:43:56 executing program 3: r0 = openat$thread_pidfd(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = dup(r0) mkdirat(r1, &(0x7f0000000040)='./file0\x00', 0x0) 01:43:56 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket$packet(0x11, 0x2, 0x300) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r1, 0x8933, &(0x7f0000000040)={'batadv0\x00', 0x0}) sendto$packet(r0, &(0x7f0000000200)="f0de8e5f027c1231d45c42410800", 0x36, 0x0, &(0x7f0000000000)={0x11, 0x0, r2, 0x1, 0x0, 0x6, @dev}, 0x14) 01:43:56 executing program 0: syz_mount_image$vfat(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=ANY=[@ANYBLOB="844a88929eaadbb979961244078b0ac8f87b59ed296f93b9b1a650bc7c1fedd1a71244451511c6795dd5e741c2a1be91c7f4bea9b39c1b6b19f57def1c4e67fce54dfcce9e85b4229b00100000000000000034bb1199ab"]) ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x8b1a, &(0x7f0000000040)='wlan0\x00') r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl(r0, 0x8b29, &(0x7f0000000040)) 01:43:56 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000001dc0)={0x0, 0x0, &(0x7f0000001d80)={&(0x7f0000000000)={{0x14}, [@NFT_MSG_NEWCHAIN={0x3c, 0x3, 0xa, 0x301, 0x0, 0x0, {0xa, 0x0, 0x1}, [@NFTA_CHAIN_HANDLE={0xc, 0x2, 0x1, 0x0, 0x2}, @NFTA_CHAIN_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_CHAIN_POLICY={0x8}, @NFTA_CHAIN_POLICY={0x8, 0x5, 0x1, 0x0, 0xfffffffffffffffb}]}, @NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz1\x00'}]}, @NFT_MSG_NEWCHAIN={0x54, 0x3, 0xa, 0x301, 0x0, 0x0, {0x5}, [@NFTA_CHAIN_NAME={0x9, 0x3, 'syz0\x00'}, @NFTA_CHAIN_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_CHAIN_HOOK={0x28, 0x4, 0x0, 0x1, [@NFTA_HOOK_PRIORITY={0x8}, @NFTA_HOOK_DEV={0x14, 0x3, 'wlan1\x00'}, @NFTA_HOOK_HOOKNUM={0x8, 0x1, 0x1, 0x0, 0x1}]}]}], {0x14}}, 0xd8}, 0x1, 0x0, 0x0, 0x20000001}, 0x10004050) 01:43:56 executing program 3: r0 = socket$unix(0x1, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, 0x0) socket$unix(0x1, 0x0, 0x0) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$IPT_SO_SET_REPLACE(r1, 0x4000000000000, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x4001, 0x3, 0x448, 0x0, 0x0, 0x148, 0x0, 0x148, 0x3b0, 0x240, 0x240, 0x3b0, 0x240, 0x3, 0x0, {[{{@ip={@local, @local, 0x0, 0x0, 'ip6gretap0\x00', 'caif0\x00'}, 0x0, 0x2f8, 0x320, 0x0, {}, [@common=@inet=@hashlimit1={{0x58}, {'lo\x00', {0x4100, 0x0, 0x0, 0x0, 0x0, 0x40000ec, 0x7}}}, @common=@unspec=@bpf1={{0x230}, @pinned={0x1, 0x0, 0x0, './file0\x00'}}]}, @common=@unspec=@NFQUEUE1={0x28}}, {{@uncond, 0x0, 0x70, 0x90}, @unspec=@NOTRACK={0x20}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x4a8) 01:43:56 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r0, 0x8933, &(0x7f0000000040)={'batadv0\x00', 0x0}) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$batadv(&(0x7f0000000440), 0xffffffffffffffff) sendmsg$BATADV_CMD_TP_METER(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000001c0)={0x28, r3, 0x7, 0x0, 0x0, {0x2, 0x3}, [@BATADV_ATTR_MESH_IFINDEX={0x8, 0x3, r1}, @BATADV_ATTR_ORIG_ADDRESS={0xa, 0x9, @multicast}]}, 0x28}}, 0x0) [ 1199.088567][ T5144] 01:43:57 executing program 2: perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f00000000c0)='batadv0\x00', 0x10) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000040)={&(0x7f0000000180)=@mpls_delroute={0xb8, 0x19, 0x0, 0x0, 0x25dfdbfc, {0x1c, 0x0, 0x0, 0x0, 0x0, 0x4, 0xc8, 0x9, 0x2900}, [@RTA_DST={0x8, 0x1, {0x3}}, @RTA_NEWDST={0x84, 0x13, [{0x3f}, {0x81, 0x0, 0x1}, {0x568c8}, {0x80, 0x0, 0x1}, {0x80}, {0xb6}, {0x3, 0x0, 0x1}, {0x5}, {0xff3d9}, {0x5}, {0x2}, {0xc7}, {0x9}, {0x4}, {0x401}, {0x4}, {0x3f, 0x0, 0x1}, {0x6}, {0xffffb, 0x0, 0x1}, {0x0, 0x0, 0x1}, {0x1000, 0x0, 0x1}, {0x6, 0x0, 0x1}, {0x1, 0x0, 0x1}, {}, {0x4}, {0x1, 0x0, 0x1}, {0x80, 0x0, 0x1}, {0xff801, 0x0, 0x1}, {0xfffff, 0x0, 0x1}, {0x6, 0x0, 0x1}, {0x6463, 0x0, 0x1}, {0xff}]}, @RTA_DST={0x8, 0x1, {0x0, 0x0, 0x1}}, @RTA_TTL_PROPAGATE={0x5}]}, 0xb8}, 0x1, 0x0, 0x0, 0x1}, 0x4040880) connect$inet(r0, &(0x7f0000000100)={0x2, 0x0, @rand_addr=0x7fffffff}, 0x10) sendmmsg(r0, &(0x7f0000007fc0), 0x400000000000075, 0x0) [ 1199.092931][ T5144] ============================= [ 1199.100346][ T5144] WARNING: suspicious RCU usage 01:43:57 executing program 0: r0 = socket$vsock_stream(0x28, 0x1, 0x0) bind$vsock_stream(r0, &(0x7f0000000380)={0x28, 0x0, 0x0, @host}, 0x10) listen(r0, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r1, &(0x7f0000000040), 0x10) r2 = accept$alg(r0, 0x0, 0x0) shutdown(r2, 0x1) sendmmsg$alg(r2, &(0x7f0000005680)=[{0x0, 0x0, 0x0}], 0x1, 0x0) [ 1199.106303][ T5144] 5.16.0-rc8-syzkaller #0 Not tainted [ 1199.113672][ T5144] ----------------------------- [ 1199.119382][ T4049] xt_hashlimit: Unknown mode mask 4100, kernel too old? 01:43:57 executing program 3: r0 = socket$unix(0x1, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, 0x0) socket$unix(0x1, 0x0, 0x0) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$IPT_SO_SET_REPLACE(r1, 0x4000000000000, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x4001, 0x3, 0x448, 0x0, 0x0, 0x148, 0x0, 0x148, 0x3b0, 0x240, 0x240, 0x3b0, 0x240, 0x3, 0x0, {[{{@ip={@local, @local, 0x0, 0x0, 'ip6gretap0\x00', 'caif0\x00'}, 0x0, 0x2f8, 0x320, 0x0, {}, [@common=@inet=@hashlimit1={{0x58}, {'lo\x00', {0x4100, 0x0, 0x0, 0x0, 0x0, 0x40000ec, 0x7}}}, @common=@unspec=@bpf1={{0x230}, @pinned={0x1, 0x0, 0x0, './file0\x00'}}]}, @common=@unspec=@NFQUEUE1={0x28}}, {{@uncond, 0x0, 0x70, 0x90}, @unspec=@NOTRACK={0x20}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x4a8) [ 1199.120409][ T5144] include/linux/netfilter_netdev.h:97 suspicious rcu_dereference_check() usage! [ 1199.141441][ T5144] [ 1199.141441][ T5144] other info that might help us debug this: [ 1199.141441][ T5144] 01:43:57 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x2, 0x0) ioctl$DRM_IOCTL_MODE_DESTROYPROPBLOB(r0, 0xc00464ce, &(0x7f00000005c0)={0x2}) [ 1199.154947][ T5144] [ 1199.154947][ T5144] rcu_scheduler_active = 2, debug_locks = 1 [ 1199.160986][ T4056] xt_hashlimit: Unknown mode mask 4100, kernel too old? [ 1199.164426][ T5144] 3 locks held by kworker/u16:6/5144: [ 1199.177536][ T5144] #0: ffff88804940f938 ((wq_completion)bat_events){+.+.}-{0:0}, at: process_one_work+0x896/0x1660 01:43:57 executing program 3: r0 = socket$unix(0x1, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, 0x0) socket$unix(0x1, 0x0, 0x0) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$IPT_SO_SET_REPLACE(r1, 0x4000000000000, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x4001, 0x3, 0x448, 0x0, 0x0, 0x148, 0x0, 0x148, 0x3b0, 0x240, 0x240, 0x3b0, 0x240, 0x3, 0x0, {[{{@ip={@local, @local, 0x0, 0x0, 'ip6gretap0\x00', 'caif0\x00'}, 0x0, 0x2f8, 0x320, 0x0, {}, [@common=@inet=@hashlimit1={{0x58}, {'lo\x00', {0x4100, 0x0, 0x0, 0x0, 0x0, 0x40000ec, 0x7}}}, @common=@unspec=@bpf1={{0x230}, @pinned={0x1, 0x0, 0x0, './file0\x00'}}]}, @common=@unspec=@NFQUEUE1={0x28}}, {{@uncond, 0x0, 0x70, 0x90}, @unspec=@NOTRACK={0x20}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x4a8) [ 1199.185398][ T37] audit: type=1400 audit(1641433437.072:783): avc: denied { shutdown } for pid=4053 comm="syz-executor.0" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=vsock_socket permissive=1 [ 1199.189811][ T5144] #1: ffffc90003cffdb0 ((work_completion)(&(&forw_packet_aggr->delayed_work)->work)){+.+.}-{0:0}, at: process_one_work+0x8ca/0x1660 [ 1199.189891][ T5144] #2: ffffffff8bb81240 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x1e3/0x3650 [ 1199.233464][ T5144] [ 1199.233464][ T5144] stack backtrace: [ 1199.239179][ T5144] CPU: 3 PID: 5144 Comm: kworker/u16:6 Not tainted 5.16.0-rc8-syzkaller #0 [ 1199.247367][ T5144] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014 [ 1199.256005][ T5144] Workqueue: bat_events batadv_iv_send_outstanding_bat_ogm_packet [ 1199.263890][ T5144] Call Trace: [ 1199.266972][ T5144] [ 1199.270032][ T5144] dump_stack_lvl+0xcd/0x134 [ 1199.275063][ T5144] __dev_queue_xmit+0x2ec3/0x3650 [ 1199.280838][ T5144] ? netdev_core_pick_tx+0x2e0/0x2e0 [ 1199.286541][ T5144] ? rcu_read_lock_sched_held+0x3a/0x70 [ 1199.293518][ T5144] ? kmem_cache_alloc_node_trace+0x3e5/0x5b0 [ 1199.299957][ T5144] ? skb_release_data+0x129/0x790 [ 1199.304877][ T5144] ? __sanitizer_cov_trace_const_cmp1+0x22/0x80 [ 1199.311173][ T5144] ? __sanitizer_cov_trace_const_cmp8+0x1d/0x70 [ 1199.317928][ T5144] ? __sanitizer_cov_trace_const_cmp2+0x22/0x80 [ 1199.324352][ T5144] ? skb_headers_offset_update+0x12e/0x260 [ 1199.329956][ T5144] ? pskb_expand_head+0x5a0/0x1060 [ 1199.335104][ T5144] ? memcpy+0x39/0x60 [ 1199.338907][ T5144] ? __sanitizer_cov_trace_const_cmp4+0x1c/0x70 [ 1199.344999][ T5144] ? batadv_nc_skb_store_for_decoding+0xca/0x440 [ 1199.351351][ T5144] batadv_send_skb_packet+0x4a9/0x5f0 [ 1199.356509][ T5144] ? skb_clone+0x1cb/0x3c0 [ 1199.360996][ T5144] batadv_iv_send_outstanding_bat_ogm_packet+0x6d7/0x910 [ 1199.367893][ T5144] process_one_work+0x9b2/0x1660 [ 1199.372729][ T5144] ? pwq_dec_nr_in_flight+0x2a0/0x2a0 [ 1199.377936][ T5144] ? rwlock_bug.part.0+0x90/0x90 [ 1199.382977][ T5144] ? _raw_spin_lock_irq+0x41/0x50 [ 1199.388089][ T5144] worker_thread+0x65d/0x1130 [ 1199.393399][ T5144] ? process_one_work+0x1660/0x1660 [ 1199.398683][ T5144] kthread+0x405/0x4f0 [ 1199.402652][ T5144] ? set_kthread_struct+0x130/0x130 [ 1199.408132][ T5144] ret_from_fork+0x1f/0x30 [ 1199.412982][ T5144] [ 1199.444142][ T4059] xt_hashlimit: Unknown mode mask 4100, kernel too old? 01:43:57 executing program 0: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r0) sendto(r2, &(0x7f0000000080)='\f', 0x1, 0x0, 0x0, 0x0) poll(&(0x7f00000000c0)=[{r1, 0x46}], 0x1, 0x0) 01:43:57 executing program 1: ioctl$CDROMREADMODE2(0xffffffffffffffff, 0x530c, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x4}) perf_event_open(&(0x7f0000000140)={0x2, 0x70, 0x3e7}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet6_sctp(0xa, 0x5, 0x84) r1 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) getsockopt$inet_sctp6_SCTP_STATUS(r0, 0x84, 0xe, &(0x7f00000001c0)={r2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, @in6={{0xa, 0x0, 0x0, @private0}}}}, &(0x7f0000000140)=0xb0) 01:43:57 executing program 2: syz_mount_image$tmpfs(&(0x7f0000000040), &(0x7f0000000080)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)={[{@nr_blocks={'nr_blocks', 0x3d, [0x36]}}]}) chdir(&(0x7f0000000380)='./bus\x00') r0 = creat(&(0x7f0000000400)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff6, 0x4002011, r1, 0x0) perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x317d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) syz_mount_image$f2fs(0x0, 0x0, 0x0, 0x15, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002000000e0d44fa54ad64de3a0b8e58956bb7b1c000000", 0x7f, 0x400}, {&(0x7f0000010100)="000000000000000000000000000000000000000000000000000000001c0000006a706700000000006769660000000000706e670000000000617669000000000064697678000000006d703400000000006d703300000000003367700000000000776d760000000000776d6100000000006d7065670000", 0x76, 0x860}, {&(0x7f0000010400), 0x0, 0xb80}, {&(0x7f0000010600)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e00000002000000020000000200000002000000160000", 0x47, 0x1400}, {&(0x7f0000010700)="000000000000000000000000000000000000000000000000000000001c0000006a706700000000006769660000000000706e670000000000617669000000000064697678000000006d703400000000006d703300000000003367700000000000776d760000000000776d6100000000006d706567000000006d6b7600000000006d6f76000000000061737800000000", 0x8f}, {0x0}, {0x0}, {0x0, 0x0, 0x4011e0}, {0x0}, {&(0x7f0000011000)='\x00'/12, 0xc}, {0x0}, {&(0x7f0000011800)}, {0x0, 0x0, 0x5ff000}, {0x0}, {0x0}, {&(0x7f0000012800)}, {&(0x7f0000012900), 0x0, 0x603fe0}, {0x0}, {0x0}, {&(0x7f0000013000)="ff00"/31, 0x1f, 0x3001000}, {0x0, 0x0, 0x3800160}], 0x0, 0x0) 01:43:57 executing program 3: r0 = socket$unix(0x1, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, 0x0) socket$unix(0x1, 0x0, 0x0) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$IPT_SO_SET_REPLACE(r1, 0x4000000000000, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x4001, 0x3, 0x448, 0x0, 0x0, 0x148, 0x0, 0x148, 0x3b0, 0x240, 0x240, 0x3b0, 0x240, 0x3, 0x0, {[{{@ip={@local, @local, 0x0, 0x0, 'ip6gretap0\x00', 'caif0\x00'}, 0x0, 0x2f8, 0x320, 0x0, {}, [@common=@inet=@hashlimit1={{0x58}, {'lo\x00', {0x4100, 0x0, 0x0, 0x0, 0x0, 0x40000ec, 0x7}}}, @common=@unspec=@bpf1={{0x230}, @pinned={0x1, 0x0, 0x0, './file0\x00'}}]}, @common=@unspec=@NFQUEUE1={0x28}}, {{@uncond, 0x0, 0x70, 0x90}, @unspec=@NOTRACK={0x20}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x4a8) 01:43:57 executing program 0: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='attr\x00') getdents64(r0, &(0x7f0000000140)=""/149, 0x95) getdents(r0, &(0x7f00000002c0)=""/188, 0xbc) [ 1199.486759][ T4066] xt_hashlimit: Unknown mode mask 4100, kernel too old? 01:43:57 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000040)=0x2) [ 1199.515539][ T37] audit: type=1400 audit(1641433437.412:784): avc: denied { execute } for pid=4067 comm="syz-executor.2" path="/syzkaller-testdir237951890/syzkaller.ItldHt/1318/bus/bus" dev="tmpfs" ino=2 scontext=root:sysadm_r:sysadm_t tcontext=root:object_r:user_tmpfs_t tclass=file permissive=1 [ 1199.520320][ T4070] loop2: detected capacity change from 0 to 229377 01:43:57 executing program 0: perf_event_open(&(0x7f0000000100)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x0, 0x200000005c831, 0xffffffffffffffff, 0x0) getsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = shmget$private(0x0, 0x1000, 0x54001800, &(0x7f0000fff000/0x1000)=nil) shmat(r0, &(0x7f0000000000/0x4000)=nil, 0xffffffffffff6fff) shmat(r0, &(0x7f0000ffd000/0x3000)=nil, 0x1000) openat(0xffffffffffffffff, 0x0, 0x0, 0x0) preadv(0xffffffffffffffff, &(0x7f0000000540)=[{&(0x7f0000000040)=""/135, 0x87}, {&(0x7f0000000400)=""/206, 0xce}, {&(0x7f0000000180)=""/10, 0xa}, {&(0x7f0000000500)=""/58, 0x3a}], 0x4, 0x0, 0xffff) pipe(&(0x7f0000000000)) shmget$private(0x0, 0x4000, 0x20, &(0x7f0000c22000/0x4000)=nil) fchdir(0xffffffffffffffff) mbind(&(0x7f0000196000/0x2000)=nil, 0x2000, 0x0, 0x0, 0x0, 0x3) ioctl$FS_IOC_RESVSP(0xffffffffffffffff, 0x40305828, 0x0) 01:43:57 executing program 3: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000000)=ANY=[@ANYBLOB="11010000733336088dfffffffeffffffff0109022d0001000000000904000003fe03010009058d1f00020000000905050200de7e000009058b1e20"], 0x0) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000040)={0x44, &(0x7f0000000040)=ANY=[], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r1 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) write$char_usb(r1, &(0x7f0000000ac0)="af", 0xfffffc8e) 01:43:57 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000040)=0x2) 01:43:57 executing program 0: perf_event_open(&(0x7f0000000100)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x0, 0x200000005c831, 0xffffffffffffffff, 0x0) getsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = shmget$private(0x0, 0x1000, 0x54001800, &(0x7f0000fff000/0x1000)=nil) shmat(r0, &(0x7f0000000000/0x4000)=nil, 0xffffffffffff6fff) shmat(r0, &(0x7f0000ffd000/0x3000)=nil, 0x1000) openat(0xffffffffffffffff, 0x0, 0x0, 0x0) preadv(0xffffffffffffffff, &(0x7f0000000540)=[{&(0x7f0000000040)=""/135, 0x87}, {&(0x7f0000000400)=""/206, 0xce}, {&(0x7f0000000180)=""/10, 0xa}, {&(0x7f0000000500)=""/58, 0x3a}], 0x4, 0x0, 0xffff) pipe(&(0x7f0000000000)) shmget$private(0x0, 0x4000, 0x20, &(0x7f0000c22000/0x4000)=nil) fchdir(0xffffffffffffffff) mbind(&(0x7f0000196000/0x2000)=nil, 0x2000, 0x0, 0x0, 0x0, 0x3) ioctl$FS_IOC_RESVSP(0xffffffffffffffff, 0x40305828, 0x0) 01:43:57 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CAP_X2APIC_API(r1, 0x4068aea3, &(0x7f0000000180)={0x81, 0x0, 0x11}) 01:43:57 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000040)=0x2) 01:43:57 executing program 0: perf_event_open(&(0x7f0000000100)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x0, 0x200000005c831, 0xffffffffffffffff, 0x0) getsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = shmget$private(0x0, 0x1000, 0x54001800, &(0x7f0000fff000/0x1000)=nil) shmat(r0, &(0x7f0000000000/0x4000)=nil, 0xffffffffffff6fff) shmat(r0, &(0x7f0000ffd000/0x3000)=nil, 0x1000) openat(0xffffffffffffffff, 0x0, 0x0, 0x0) preadv(0xffffffffffffffff, &(0x7f0000000540)=[{&(0x7f0000000040)=""/135, 0x87}, {&(0x7f0000000400)=""/206, 0xce}, {&(0x7f0000000180)=""/10, 0xa}, {&(0x7f0000000500)=""/58, 0x3a}], 0x4, 0x0, 0xffff) pipe(&(0x7f0000000000)) shmget$private(0x0, 0x4000, 0x20, &(0x7f0000c22000/0x4000)=nil) fchdir(0xffffffffffffffff) mbind(&(0x7f0000196000/0x2000)=nil, 0x2000, 0x0, 0x0, 0x0, 0x3) ioctl$FS_IOC_RESVSP(0xffffffffffffffff, 0x40305828, 0x0) 01:43:57 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000040)=0x2) 01:43:57 executing program 1: r0 = getpgrp(0x0) r1 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) r3 = pidfd_open(r0, 0x0) r4 = dup2(r3, r3) setns(r4, 0x4000000) [ 1199.848568][ T7562] usb 8-1: new high-speed USB device number 11 using dummy_hcd [ 1200.099194][ T7562] usb 8-1: Using ep0 maxpacket: 8 [ 1200.248699][ T7562] usb 8-1: config 0 interface 0 altsetting 0 endpoint 0x8D has an invalid bInterval 0, changing to 7 [ 1200.260003][ T7562] usb 8-1: config 0 interface 0 altsetting 0 endpoint 0x5 has invalid maxpacket 56832, setting to 1024 [ 1200.271946][ T7562] usb 8-1: config 0 interface 0 altsetting 0 bulk endpoint 0x5 has invalid maxpacket 1024 [ 1200.282202][ T7562] usb 8-1: config 0 interface 0 altsetting 0 bulk endpoint 0x8B has invalid maxpacket 32 [ 1200.478707][ T7562] usb 8-1: New USB device found, idVendor=ff8d, idProduct=ffff, bcdDevice=ff.fe [ 1200.489186][ T7562] usb 8-1: New USB device strings: Mfr=255, Product=255, SerialNumber=255 [ 1200.498900][ T7562] usb 8-1: Product: syz [ 1200.503450][ T7562] usb 8-1: Manufacturer: syz [ 1200.508740][ T7562] usb 8-1: SerialNumber: syz [ 1200.518074][ T7562] usb 8-1: config 0 descriptor?? [ 1200.770034][ T7562] usb 8-1: GET_CAPABILITIES returned 0 [ 1200.776362][ T7562] usbtmc 8-1:0.0: can't read capabilities [ 1201.009617][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.021396][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.032656][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.044651][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.056979][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.067017][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.075996][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.084808][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.093819][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.102956][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.112060][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.121209][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.130840][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.139619][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.148415][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1201.157683][ T4076] usbtmc 8-1:0.0: Unable to send data, error -71 [ 1201.171265][ T2561] usb 8-1: USB disconnect, device number 11 01:43:59 executing program 3: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000000)=ANY=[@ANYBLOB="11010000733336088dfffffffeffffffff0109022d0001000000000904000003fe03010009058d1f00020000000905050200de7e000009058b1e20"], 0x0) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000040)={0x44, &(0x7f0000000040)=ANY=[], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r1 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) write$char_usb(r1, &(0x7f0000000ac0)="af", 0xfffffc8e) 01:43:59 executing program 0: perf_event_open(&(0x7f0000000100)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x0, 0x200000005c831, 0xffffffffffffffff, 0x0) getsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = shmget$private(0x0, 0x1000, 0x54001800, &(0x7f0000fff000/0x1000)=nil) shmat(r0, &(0x7f0000000000/0x4000)=nil, 0xffffffffffff6fff) shmat(r0, &(0x7f0000ffd000/0x3000)=nil, 0x1000) openat(0xffffffffffffffff, 0x0, 0x0, 0x0) preadv(0xffffffffffffffff, &(0x7f0000000540)=[{&(0x7f0000000040)=""/135, 0x87}, {&(0x7f0000000400)=""/206, 0xce}, {&(0x7f0000000180)=""/10, 0xa}, {&(0x7f0000000500)=""/58, 0x3a}], 0x4, 0x0, 0xffff) pipe(&(0x7f0000000000)) shmget$private(0x0, 0x4000, 0x20, &(0x7f0000c22000/0x4000)=nil) fchdir(0xffffffffffffffff) mbind(&(0x7f0000196000/0x2000)=nil, 0x2000, 0x0, 0x0, 0x0, 0x3) ioctl$FS_IOC_RESVSP(0xffffffffffffffff, 0x40305828, 0x0) 01:43:59 executing program 1: perf_event_open(&(0x7f0000000000)={0x2, 0x80, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000), 0x0) ioctl$SNDRV_SEQ_IOCTL_GET_CLIENT_POOL(r0, 0xc05c5340, &(0x7f0000000300)) 01:43:59 executing program 2: bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@base={0x19}, 0x48) 01:43:59 executing program 2: pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r2, 0x6, 0x10000000013, &(0x7f0000000180)=0x1, 0x4) setsockopt$inet_tcp_int(r2, 0x6, 0x14, &(0x7f00000000c0)=0x100000001, 0x4) connect$inet(r2, &(0x7f0000000040)={0x2, 0x0, @remote}, 0x10) sendto$inet(r2, &(0x7f0000000200)="e1", 0xfea8, 0x0, 0x0, 0x0) splice(r2, 0x0, r1, 0x0, 0x40009, 0x0) read$FUSE(r0, &(0x7f0000000580)={0x2020}, 0xa80e) 01:43:59 executing program 1: r0 = socket$inet6(0xa, 0x800000000000002, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, 0x2}, 0x4c) setsockopt$inet6_udp_int(r0, 0x11, 0x67, &(0x7f0000000100)=0x2e4, 0x4) connect$inet6(r0, &(0x7f0000004540)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @multicast2}}, 0x1c) connect$inet6(r0, &(0x7f0000004240)={0xa, 0x4e20, 0x0, @empty}, 0x1c) sendmmsg(r0, &(0x7f0000004d80)=[{{0x0, 0x2000000, &(0x7f0000001500)=[{&(0x7f0000000040)="d3622fe131479cee20fb607a9585dc0b411519fd3b65066522d73df58b9257b566c6fc626776defc3a2e249c910ccab00220bc31d41e44f96f67971b8ed8a3dc9eb4133a903d58da02dd1eca653150422bc91e9585fbf8", 0x57}, {&(0x7f00000011c0)="7cc3be44ec866303c11f9ec49c2fe80d4ccef580f3bf717b5e129f1dc7766fdf864b7bc35924f34bb5fd1dd89172a4b0db90eea51bdfec78bb53e8d41773cba7f1305a8a40b7368445a71ef7870273f1544930baf73a8bfa6ece09d54376b821b65fdf1e0704f1f3c5a823fa67f635159af010053f5b909f8e944c43d6fb1c4fca639b470d3e6ad140d0838958ecf0fc98a780205474fdeb93a97d27b4f3314a9585129aaec893d7fe36d87fd746841ac5c60b31e1732a1a3ca0afcc4068cdde63b142700c563c1ab59dc0b7200723bf21c694583ed8fed1b2bc5c204df3812c223ce0de2f40b69e7f4e8ba1c3ebc31de2f4190e3f1ceb", 0xf7}, {&(0x7f00000012c0), 0x80fe}, {&(0x7f0000000280)="0c22fcc306e8a4d628dc3f33cd1758b784d34ef62ecd943b96c5573b05e34886b55503a08eeac42aafc204e9fec654b4b0853f4c32d8d6f8968a96b81710a9ed49ae96ea22eb07accdc99ed31fb48b921b4c9af7278829eb32247169da3593e5e73371e82e3558cd87b9c876b91e091e933496ae3a6b5a00a79f50110980c83af2fd44e0f08908f806be4146080def894a3ac87c3d214e32b0e031c8873b6ed3cdb9c160ee236576cb5a749ee356d4f5df961b35ec3667bcfa641e2c812a5eefbd78546783b6bd280dc4ec1cd015bee7d07f0993d6", 0xd5}, {&(0x7f0000001440)="7b18908bcd34b2f4eef2193c5f89bb79551b5d7000ccc31628374b03e7f0b8bbfe45", 0x22}], 0x5, 0x0, 0x0, 0xffffffe0}}], 0x400000000000132, 0x4000000) 01:43:59 executing program 0: bpf$OBJ_GET_PROG(0x6, &(0x7f00000004c0)={0x0, 0x0, 0x64d6e9d80555f134}, 0x10) 01:43:59 executing program 2: perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x2}, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x11, r0, 0x0) perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x188, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000eeb000/0x3000)=nil, &(0x7f0000000540)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r2, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) r4 = socket$vsock_stream(0x28, 0x1, 0x0) syz_io_uring_submit(r2, r3, &(0x7f00000003c0)=@IORING_OP_RECVMSG={0xa, 0x2, 0x0, r4, 0x0, 0x0, 0x0, 0x2003, 0x1}, 0x0) connect$vsock_stream(r4, &(0x7f0000000340)={0x28, 0x0, 0x0, @host}, 0x10) io_uring_enter(r1, 0x45f5, 0x0, 0x0, 0x0, 0x2000) [ 1201.998834][ T2561] usb 8-1: new high-speed USB device number 12 using dummy_hcd [ 1202.249026][ T2561] usb 8-1: Using ep0 maxpacket: 8 [ 1202.388605][ T2561] usb 8-1: config 0 interface 0 altsetting 0 endpoint 0x8D has an invalid bInterval 0, changing to 7 [ 1202.404306][ T2561] usb 8-1: config 0 interface 0 altsetting 0 endpoint 0x5 has invalid maxpacket 56832, setting to 1024 [ 1202.415979][ T2561] usb 8-1: config 0 interface 0 altsetting 0 bulk endpoint 0x5 has invalid maxpacket 1024 [ 1202.426046][ T2561] usb 8-1: config 0 interface 0 altsetting 0 bulk endpoint 0x8B has invalid maxpacket 32 [ 1202.599824][ T2561] usb 8-1: New USB device found, idVendor=ff8d, idProduct=ffff, bcdDevice=ff.fe [ 1202.611323][ T2561] usb 8-1: New USB device strings: Mfr=255, Product=255, SerialNumber=255 [ 1202.623565][ T2561] usb 8-1: Product: syz [ 1202.629586][ T2561] usb 8-1: Manufacturer: syz [ 1202.634684][ T2561] usb 8-1: SerialNumber: syz [ 1202.641759][ T2561] usb 8-1: config 0 descriptor?? [ 1202.908558][ T2561] usb 8-1: GET_CAPABILITIES returned 0 [ 1202.914559][ T2561] usbtmc 8-1:0.0: can't read capabilities [ 1203.159603][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.170608][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.181970][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.197787][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.207525][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.218515][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.227669][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.236636][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.243713][ T1349] ieee802154 phy0 wpan0: encryption failed: -22 [ 1203.247901][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.255479][ T1349] ieee802154 phy1 wpan1: encryption failed: -22 [ 1203.265863][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.265948][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.294917][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.304621][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.314729][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.324270][ C0] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1203.348484][ T4099] usbtmc 8-1:0.0: Unable to send data, error -71 [ 1203.357633][ T2561] usb 8-1: USB disconnect, device number 12 01:44:01 executing program 3: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000000)=ANY=[@ANYBLOB="11010000733336088dfffffffeffffffff0109022d0001000000000904000003fe03010009058d1f00020000000905050200de7e000009058b1e20"], 0x0) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000040)={0x44, &(0x7f0000000040)=ANY=[], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r1 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) write$char_usb(r1, &(0x7f0000000ac0)="af", 0xfffffc8e) 01:44:01 executing program 0: mkdir(&(0x7f00000003c0)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000080)=ANY=[@ANYBLOB="1500000065ffff097b00000800395032303030"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000b80), 0x0, &(0x7f0000000400)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}, 0x2c, {[{@uname={'uname', 0x3d, '+.*{'}}, {@afid}, {@dfltuid}]}}) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) r4 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') sendfile(r3, r4, 0x0, 0x800000080004103) 01:44:01 executing program 1: r0 = socket$inet6(0xa, 0x800000000000002, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, 0x2}, 0x4c) setsockopt$inet6_udp_int(r0, 0x11, 0x67, &(0x7f0000000100)=0x2e4, 0x4) connect$inet6(r0, &(0x7f0000004540)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @multicast2}}, 0x1c) connect$inet6(r0, &(0x7f0000004240)={0xa, 0x4e20, 0x0, @empty}, 0x1c) sendmmsg(r0, &(0x7f0000004d80)=[{{0x0, 0x2000000, &(0x7f0000001500)=[{&(0x7f0000000040)="d3622fe131479cee20fb607a9585dc0b411519fd3b65066522d73df58b9257b566c6fc626776defc3a2e249c910ccab00220bc31d41e44f96f67971b8ed8a3dc9eb4133a903d58da02dd1eca653150422bc91e9585fbf8", 0x57}, {&(0x7f00000011c0)="7cc3be44ec866303c11f9ec49c2fe80d4ccef580f3bf717b5e129f1dc7766fdf864b7bc35924f34bb5fd1dd89172a4b0db90eea51bdfec78bb53e8d41773cba7f1305a8a40b7368445a71ef7870273f1544930baf73a8bfa6ece09d54376b821b65fdf1e0704f1f3c5a823fa67f635159af010053f5b909f8e944c43d6fb1c4fca639b470d3e6ad140d0838958ecf0fc98a780205474fdeb93a97d27b4f3314a9585129aaec893d7fe36d87fd746841ac5c60b31e1732a1a3ca0afcc4068cdde63b142700c563c1ab59dc0b7200723bf21c694583ed8fed1b2bc5c204df3812c223ce0de2f40b69e7f4e8ba1c3ebc31de2f4190e3f1ceb", 0xf7}, {&(0x7f00000012c0), 0x80fe}, {&(0x7f0000000280)="0c22fcc306e8a4d628dc3f33cd1758b784d34ef62ecd943b96c5573b05e34886b55503a08eeac42aafc204e9fec654b4b0853f4c32d8d6f8968a96b81710a9ed49ae96ea22eb07accdc99ed31fb48b921b4c9af7278829eb32247169da3593e5e73371e82e3558cd87b9c876b91e091e933496ae3a6b5a00a79f50110980c83af2fd44e0f08908f806be4146080def894a3ac87c3d214e32b0e031c8873b6ed3cdb9c160ee236576cb5a749ee356d4f5df961b35ec3667bcfa641e2c812a5eefbd78546783b6bd280dc4ec1cd015bee7d07f0993d6", 0xd5}, {&(0x7f0000001440)="7b18908bcd34b2f4eef2193c5f89bb79551b5d7000ccc31628374b03e7f0b8bbfe45", 0x22}], 0x5, 0x0, 0x0, 0xffffffe0}}], 0x400000000000132, 0x4000000) 01:44:01 executing program 1: r0 = socket$inet6(0xa, 0x800000000000002, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, 0x2}, 0x4c) setsockopt$inet6_udp_int(r0, 0x11, 0x67, &(0x7f0000000100)=0x2e4, 0x4) connect$inet6(r0, &(0x7f0000004540)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @multicast2}}, 0x1c) connect$inet6(r0, &(0x7f0000004240)={0xa, 0x4e20, 0x0, @empty}, 0x1c) sendmmsg(r0, &(0x7f0000004d80)=[{{0x0, 0x2000000, &(0x7f0000001500)=[{&(0x7f0000000040)="d3622fe131479cee20fb607a9585dc0b411519fd3b65066522d73df58b9257b566c6fc626776defc3a2e249c910ccab00220bc31d41e44f96f67971b8ed8a3dc9eb4133a903d58da02dd1eca653150422bc91e9585fbf8", 0x57}, {&(0x7f00000011c0)="7cc3be44ec866303c11f9ec49c2fe80d4ccef580f3bf717b5e129f1dc7766fdf864b7bc35924f34bb5fd1dd89172a4b0db90eea51bdfec78bb53e8d41773cba7f1305a8a40b7368445a71ef7870273f1544930baf73a8bfa6ece09d54376b821b65fdf1e0704f1f3c5a823fa67f635159af010053f5b909f8e944c43d6fb1c4fca639b470d3e6ad140d0838958ecf0fc98a780205474fdeb93a97d27b4f3314a9585129aaec893d7fe36d87fd746841ac5c60b31e1732a1a3ca0afcc4068cdde63b142700c563c1ab59dc0b7200723bf21c694583ed8fed1b2bc5c204df3812c223ce0de2f40b69e7f4e8ba1c3ebc31de2f4190e3f1ceb", 0xf7}, {&(0x7f00000012c0), 0x80fe}, {&(0x7f0000000280)="0c22fcc306e8a4d628dc3f33cd1758b784d34ef62ecd943b96c5573b05e34886b55503a08eeac42aafc204e9fec654b4b0853f4c32d8d6f8968a96b81710a9ed49ae96ea22eb07accdc99ed31fb48b921b4c9af7278829eb32247169da3593e5e73371e82e3558cd87b9c876b91e091e933496ae3a6b5a00a79f50110980c83af2fd44e0f08908f806be4146080def894a3ac87c3d214e32b0e031c8873b6ed3cdb9c160ee236576cb5a749ee356d4f5df961b35ec3667bcfa641e2c812a5eefbd78546783b6bd280dc4ec1cd015bee7d07f0993d6", 0xd5}, {&(0x7f0000001440)="7b18908bcd34b2f4eef2193c5f89bb79551b5d7000ccc31628374b03e7f0b8bbfe45", 0x22}], 0x5, 0x0, 0x0, 0xffffffe0}}], 0x400000000000132, 0x4000000) 01:44:02 executing program 1: r0 = socket$inet6(0xa, 0x800000000000002, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, 0x2}, 0x4c) setsockopt$inet6_udp_int(r0, 0x11, 0x67, &(0x7f0000000100)=0x2e4, 0x4) connect$inet6(r0, &(0x7f0000004540)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @multicast2}}, 0x1c) connect$inet6(r0, &(0x7f0000004240)={0xa, 0x4e20, 0x0, @empty}, 0x1c) sendmmsg(r0, &(0x7f0000004d80)=[{{0x0, 0x2000000, &(0x7f0000001500)=[{&(0x7f0000000040)="d3622fe131479cee20fb607a9585dc0b411519fd3b65066522d73df58b9257b566c6fc626776defc3a2e249c910ccab00220bc31d41e44f96f67971b8ed8a3dc9eb4133a903d58da02dd1eca653150422bc91e9585fbf8", 0x57}, {&(0x7f00000011c0)="7cc3be44ec866303c11f9ec49c2fe80d4ccef580f3bf717b5e129f1dc7766fdf864b7bc35924f34bb5fd1dd89172a4b0db90eea51bdfec78bb53e8d41773cba7f1305a8a40b7368445a71ef7870273f1544930baf73a8bfa6ece09d54376b821b65fdf1e0704f1f3c5a823fa67f635159af010053f5b909f8e944c43d6fb1c4fca639b470d3e6ad140d0838958ecf0fc98a780205474fdeb93a97d27b4f3314a9585129aaec893d7fe36d87fd746841ac5c60b31e1732a1a3ca0afcc4068cdde63b142700c563c1ab59dc0b7200723bf21c694583ed8fed1b2bc5c204df3812c223ce0de2f40b69e7f4e8ba1c3ebc31de2f4190e3f1ceb", 0xf7}, {&(0x7f00000012c0), 0x80fe}, {&(0x7f0000000280)="0c22fcc306e8a4d628dc3f33cd1758b784d34ef62ecd943b96c5573b05e34886b55503a08eeac42aafc204e9fec654b4b0853f4c32d8d6f8968a96b81710a9ed49ae96ea22eb07accdc99ed31fb48b921b4c9af7278829eb32247169da3593e5e73371e82e3558cd87b9c876b91e091e933496ae3a6b5a00a79f50110980c83af2fd44e0f08908f806be4146080def894a3ac87c3d214e32b0e031c8873b6ed3cdb9c160ee236576cb5a749ee356d4f5df961b35ec3667bcfa641e2c812a5eefbd78546783b6bd280dc4ec1cd015bee7d07f0993d6", 0xd5}, {&(0x7f0000001440)="7b18908bcd34b2f4eef2193c5f89bb79551b5d7000ccc31628374b03e7f0b8bbfe45", 0x22}], 0x5, 0x0, 0x0, 0xffffffe0}}], 0x400000000000132, 0x4000000) [ 1204.178632][ T1131] usb 8-1: new high-speed USB device number 13 using dummy_hcd 01:44:02 executing program 1: r0 = socket$inet6(0xa, 0x3, 0x2) sendmmsg$inet6(r0, &(0x7f0000000b80)=[{{&(0x7f0000000040)={0xa, 0x0, 0x0, @mcast2}, 0x1c, 0x0}}, {{&(0x7f0000000000)={0xa, 0x0, 0x0, @private0, 0x7}, 0x1c, 0x0, 0x0, &(0x7f00000004c0)=[@dontfrag={{0x14, 0x29, 0x3e, 0x80}}], 0x18}}], 0x2, 0x0) 01:44:02 executing program 1: r0 = socket(0x40000000015, 0x5, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r0) [ 1204.418834][ T1131] usb 8-1: Using ep0 maxpacket: 8 [ 1204.540125][ T1131] usb 8-1: config 0 interface 0 altsetting 0 endpoint 0x8D has an invalid bInterval 0, changing to 7 [ 1204.552350][ T1131] usb 8-1: config 0 interface 0 altsetting 0 endpoint 0x5 has invalid maxpacket 56832, setting to 1024 [ 1204.565923][ T1131] usb 8-1: config 0 interface 0 altsetting 0 bulk endpoint 0x5 has invalid maxpacket 1024 [ 1204.577258][ T1131] usb 8-1: config 0 interface 0 altsetting 0 bulk endpoint 0x8B has invalid maxpacket 32 [ 1204.750282][ T1131] usb 8-1: New USB device found, idVendor=ff8d, idProduct=ffff, bcdDevice=ff.fe [ 1204.760809][ T1131] usb 8-1: New USB device strings: Mfr=255, Product=255, SerialNumber=255 [ 1204.770725][ T1131] usb 8-1: Product: syz [ 1204.775963][ T1131] usb 8-1: Manufacturer: syz [ 1204.781963][ T1131] usb 8-1: SerialNumber: syz [ 1204.790016][ T1131] usb 8-1: config 0 descriptor?? [ 1205.049467][ T1131] usb 8-1: GET_CAPABILITIES returned 0 [ 1205.055383][ T1131] usbtmc 8-1:0.0: can't read capabilities [ 1205.268591][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.279923][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.289411][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.298685][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.308816][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.317965][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.326814][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.337031][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.346522][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.356518][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.366176][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.374672][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.383304][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.391650][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.400137][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.409815][ C1] usbtmc 8-1:0.0: usbtmc_write_bulk_cb - nonzero write bulk status received: -71 [ 1205.418725][ T4213] usbtmc 8-1:0.0: Unable to send data, error -71 [ 1205.426698][T19079] usb 8-1: USB disconnect, device number 13 VM DIAGNOSIS: 01:43:57 Registers: info registers vcpu 0 RAX=000055ee840de0fc RBX=00007fca2297d080 RCX=0000000000000001 RDX=0000000000000000 RSI=0000000000000025 RDI=000055ee840de0fd RBP=00007ffe93b21eb0 RSP=00007ffe93b21968 R8 =0000000000000000 R9 =00007ffe93b21e53 R10=0000000000006857 R11=0000000000000000 R12=0000000000000005 R13=000055ee840de0fd R14=0000000000000000 R15=00007ffe93b22028 RIP=00007fca2291d010 RFL=00000202 [-------] CPL=3 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 ffffffff 00c00000 CS =0033 0000000000000000 ffffffff 00a0fb00 DPL=3 CS64 [-RA] SS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA] DS =0000 0000000000000000 ffffffff 00c00000 FS =0000 00007fca22759840 ffffffff 00c00000 GS =0000 0000000000000000 ffffffff 00c00000 LDT=0000 0000000000000000 ffffffff 00c00000 TR =0040 fffffe0000003000 00000067 00008b00 DPL=0 TSS64-busy GDT= fffffe0000001000 0000007f IDT= fffffe0000000000 0000ffff CR0=80050033 CR2=00007f1825c2d1b8 CR3=000000006cdd7000 CR4=00150ef0 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000600 EFER=0000000000000d01 FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 XMM00=25252525252525252525252525252525 XMM01=0000000000000000000000ff00000000 XMM02=0000000000000000000000ff00000000 XMM03=0000000000ff0000000000ff00000000 XMM04=2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f XMM05=ffff000000000000ffff000000000000 XMM06=ffff0000000000000000000000000000 XMM07=00000000000000000000000000000000 XMM08=444c4f5f48544150564544003d444c4f XMM09=00000000000000000000000000000000 XMM10=73737373737373c27373737373737373 XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000 info registers vcpu 1 RAX=dffffc0000000000 RBX=0000000000000000 RCX=ffffffff815b91b5 RDX=1ffffffff1fec3d7 RSI=0000000000000008 RDI=ffffffff8ff7aa00 RBP=000000000000eeab RSP=ffffc9000390f728 R8 =0000000000000000 R9 =ffffffff8ff7aa07 R10=fffffbfff1fef540 R11=0000000000000001 R12=ffff888061894d10 R13=ffff8880618941c0 R14=ffffffff8d9153a8 R15=0000000000000000 RIP=ffffffff815b91f9 RFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 ffffffff 00c00000 CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0000 0000000000000000 ffffffff 00c00000 FS =0000 0000000000000000 ffffffff 00c00000 GS =0000 ffff88802cb00000 ffffffff 00c00000 LDT=0000 0000000000000000 00000000 00000000 TR =0040 fffffe000004a000 00000067 00008b00 DPL=0 TSS64-busy GDT= fffffe0000048000 0000007f IDT= fffffe0000000000 0000ffff CR0=80050033 CR2=0000000020000000 CR3=000000001c6a3000 CR4=00150ee0 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000fffe0ff0 DR7=0000000000000400 EFER=0000000000000d01 FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 XMM00=ffffffffffffffffffffffffffffffff XMM01=000055ee8451878000000033706f6f6c XMM02=ffff000000000000ffffffffffffffff XMM03=00000000ff0000ff0000ff0000ff0000 XMM04=2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000 XMM08=000055ee840cf4550000000000000000 XMM09=00000000000000000000000000000000 XMM10=73737373737373c27373737373737373 XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000 info registers vcpu 2 RAX=00000000004da02f RBX=ffff88801193e1c0 RCX=ffffffff89440681 RDX=0000000000000000 RSI=0000000000000001 RDI=0000000000000000 RBP=0000000000000002 RSP=ffffc9000066fdf8 R8 =0000000000000001 R9 =ffff88802cc3aad3 R10=ffffed100598755a R11=0000000000000000 R12=ffffed1002327c38 R13=0000000000000002 R14=ffffffff8d911f90 R15=0000000000000000 RIP=ffffffff8946d6eb RFL=00000202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 ffffffff 00c00000 CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0000 0000000000000000 ffffffff 00c00000 FS =0000 0000000000000000 ffffffff 00c00000 GS =0000 ffff88802cc00000 ffffffff 00c00000 LDT=0000 0000000000000000 00000000 00000000 TR =0040 fffffe0000091000 00000067 00008b00 DPL=0 TSS64-busy GDT= fffffe000008f000 0000007f IDT= fffffe0000000000 0000ffff CR0=80050033 CR2=00007fc4b496d000 CR3=000000004b620000 CR4=00150ee0 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000d01 FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 XMM00=00000000000000000000000000000000 XMM01=ffffffffffffffffffffffffffffffff XMM02=0000000000000000ff00000000000000 XMM03=00000000000000000000000000000000 XMM04=000000000000000000000000000000ff XMM05=00000000000000000000000000000000 XMM06=0000000000000000000000524f525245 XMM07=00000000000000000000000000000000 XMM08=000000000000000000524f5252450040 XMM09=00000000000000000000000000000000 XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000 info registers vcpu 3 RAX=dffffc0000000060 RBX=00000000000003fd RCX=0000000000000000 RDX=00000000000003fd RSI=ffffffff844136fc RDI=ffffffff9079e320 RBP=ffffffff9079e2e0 RSP=ffffc90003cff5d0 R8 =0000000000000071 R9 =0000000000000000 R10=ffffffff844136ed R11=000000000000001f R12=0000000000000000 R13=fffffbfff20f3caf R14=fffffbfff20f3c66 R15=dffffc0000000000 RIP=ffffffff84413722 RFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 ffffffff 00c00000 CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0000 0000000000000000 ffffffff 00c00000 FS =0000 0000000000000000 ffffffff 00c00000 GS =0000 ffff88802cd00000 ffffffff 00c00000 LDT=0000 0000000000000000 00000000 00000000 TR =0040 fffffe00000d8000 00000067 00008b00 DPL=0 TSS64-busy GDT= fffffe00000d6000 0000007f IDT= fffffe0000000000 0000ffff CR0=80050033 CR2=0000000020000000 CR3=000000006a476000 CR4=00150ee0 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000d01 FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 XMM00=00000000000000000000000000000000 XMM01=00007f9918e217c000007f9918e217c8 XMM02=00007f9918e217e000007f9918e217c0 XMM03=00007f9918e217c800007f9918e217c0 XMM04=ffffffffffffffffffffffff00000000 XMM05=7712c53e93b9f1e8728370bf3cb3486e XMM06=63e772d7f3a22482dabb339f3c035440 XMM07=bd0dad416e16bee646815929601aad29 XMM08=000000000000000000524f5252450040 XMM09=00000000000000000000000000000000 XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000