1cce1dce1ece1fce20ce21ce22ce23ce24ce25ce26ce27ce28ce29ce2ace2bce2cce2dce2ece2fce30ce31ce32ce33ce34ce35ce36ce37ce38ce39ce3ace3bce3cce3dce3ece3fce40ce41ce42ce43ce44ce45ce46ce47ce48ce49ce4ace4bce4cce4dce4ece4fce50ce51ce52ce53ce54ce55ce56ce57ce58ce59ce5ace5bce5cce5dce5ece5fce60ce61ce62ce63ce64ce65ce66ce67ce68ce69ce6ace6bce6cce6dce6ece6fce70ce71ce72ce73ce74ce75ce76ce77ce78ce79ce7ace7bce7cce7dce7ece7fce80ce81ce82ce83ce84ce85ce86ce87ce88ce89ce8ace8bce8cce8dce8ece8fce90ce91ce92ce93ce94ce95ce96ce97ce98ce99ce9ace9bce9cce9dce9ece9fcea0cea1cea2cea3cea4cea5cea6cea7cea8cea9ceaaceabceacceadceaeceafceb0ceb1ceb2ceb3ceb4ceb5ceb6ceb7ceb8ceb9cebacebbcebccebdcebecebfcec0cec1cec2cec3cec4cec5cec6cec7cec8cec9cecacecbcecccecdcecececfced0ced1ced2ced3ced4ced5ced6ced7ced8ced9cedacedbcedcceddcedecedfcee0cee1cee2cee3cee4cee5cee6cee7cee8cee9ceeaceebceecceedceeeceefcef0cef1cef2cef3cef4cef5cef6cef7cef8cef9cefacefbcefccefdcefeceffce00cf01cf02cf03cf04cf05cf06cf07cf08cf09cf0acf0bcf0ccf0dcf0ecf0fcf10cf11cf12cf13cf14cf15cf16cf17cf18cf19cf1acf1bcf1ccf1dcf1ecf1fcf20cf21cf22cf23cf24cf25cf26cf27cf28cf29cf2acf2bcf2ccf2dcf2ecf2fcf30cf31cf32cf33cf34cf35cf36cf37cf38cf39cf3acf3bcf3ccf3dcf3ecf3fcf40cf41cf42cf43cf44cf45cf46cf47cf48cf49cf4acf4bcf4ccf4dcf4ecf4fcf50cf51cf52cf53cf54cf55cf56cf57cf58cf59cf5acf5bcf5ccf5dcf5ecf5fcf60cf61cf62cf63cf64cf65cf66cf67cf68cf69cf6acf6bcf6ccf6dcf6ecf6fcf70cf71cf72cf73cf74cf75cf76cf77cf78cf79cf7acf7bcf7ccf7dcf7ecf7fcf80cf81cf82cf83cf84cf85cf86cf87cf88cf89cf8acf8bcf8ccf8dcf8ecf8fcf90cf91cf92cf93cf94cf95cf96cf97cf98cf99cf9acf9bcf9ccf9dcf9ecf9fcfa0cfa1cfa2cfa3cfa4cfa5cfa6cfa7cfa8cfa9cfaacfabcfaccfadcfaecfafcfb0cfb1cfb2cfb3cfb4cfb5cfb6cfb7cfb8cfb9cfbacfbbcfbccfbdcfbecfbfcfc0cfc1cfc2cfc3cfc4cfc5cfc6cfc7cfc8cfc9cfcacfcbcfcccfcdcfcecfcfcfd0cfd1cfd2cfd3cfd4cfd5cfd6cfd7cfd8cfd9cfdacfdbcfdccfddcfdecfdfcfe0cfe1cfe2cfe3cfe4cfe5cfe6cfe7cfe8cfe9cfeacfebcfeccfedcfeecfefcff0cff1cff2cff3cff4cff5cff6cff7cff8cff9cffacffbcffccffdcffecfffcf00d001d002d003d004d005d006d007d008d009d00ad00bd00cd00dd00ed00fd010d011d012d013d014d015d016d017d018d019d01ad01bd01cd01dd01ed01fd020d021d022d023d024d025d026d027d028d029d02ad02bd02cd02dd02ed02fd030d031d032d033d034d035d036d037d038d039d03ad03bd03cd03dd03ed03fd040d041d042d043d044d045d046d047d048d049d04ad04bd04cd04dd04ed04fd050d051d052d053d054d055d056d057d058d059d05ad05bd05cd05dd05ed05fd060d061d062d063d064d065d066d067d068d069d06ad06bd06cd06dd06ed06fd070d071d072d073d074d075d076d077d078d079d07ad07bd07cd07dd07ed07fd080d081d082d083d084d085d086d087d088d089d08ad08bd08cd08dd08ed08fd090d091d092d093d094d095d096d097d098d099d09ad09bd09cd09dd09ed09fd0a0d0a1d0a2d0a3d0a4d0a5d0a6d0a7d0a8d0a9d0aad0abd0acd0add0aed0afd0b0d0b1d0b2d0b3d0b4d0b5d0b6d0b7d0b8d0b9d0bad0bbd0bcd0bdd0bed0bfd0c0d0c1d0c2d0c3d0c4d0c5d0c6d0c7d0c8d0c9d0cad0cbd0ccd0cdd0ced0cfd0d0d0d1d0d2d0d3d0d4d0d5d0d6d0d7d0d8d0d9d0dad0dbd0dcd0ddd0ded0dfd0e0d0e1d0e2d0e3d0e4d0e5d0e6d0e7d0e8d0e9d0ead0ebd0ecd0edd0eed0efd0f0d0f1d0f2d0f3d0f4d0f5d0f6d0f7d0f8d0f9d0fad0fbd0fcd0fdd0fed0ffd000d101d102d103d104d105d106d107d108d109d10ad10bd10cd10dd10ed10fd110d111d112d113d114d115d116d117d118d119d11ad11bd11cd11dd11ed11fd120d121d122d123d124d125d126d127d128d129d12ad12bd12cd12dd12ed12fd130d131d132d133d134d135d136d137d138d139d13ad13bd13cd13dd13ed13fd140d141d142d143d144d145d146d147d148d149d14ad14bd14cd14dd14ed14fd150d151d152d153d154d155d156d157d158d159d15ad15bd15cd15dd15ed15fd160d161d162d163d164d165d166d167d168d169d16ad16bd16cd16dd16ed16fd170d171d172d173d174d175d176d177d178d179d17ad17bd17cd17dd17ed17fd180d181d182d183d184d185d186d187d188d189d18ad18bd18cd18dd18ed18fd190d191d192d193d194d195d196d197d198d199d19ad19bd19cd19dd19ed19fd1a0d1a1d1a2d1a3d1a4d1a5d1a6d1a7d1a8d1a9d1aad1abd1acd1add1aed1afd1b0d1b1d1b2d1b3d1b4d1b5d1b6d1b7d1b8d1b9d1bad1bbd1bcd1bdd1bed1bfd1c0d1c1d1c2d1c3d1c4d1c5d1c6d1c7d1c8d1c9d1cad1cbd1ccd1cdd1ced1cfd1d0d1d1d1d2d1d3d1d4d1d5d1d6d1d7d1d8d1d9d1dad1dbd1dcd1ddd1ded1dfd1e0d1e1d1e2d1e3d1e4d1e5d1e6d1e7d1e8d1e9d1ead1ebd1ecd1edd1eed1efd1f0d1f1d1f2d1f3d1f4d1f5d1f6d1f7d1f8d1f9d1fad1fbd1fcd1fdd1fed1ffd100d201d202d203d204d205d206d207d208d209d20ad20bd20cd20dd20ed20fd210d211d212d213d214d215d216d217d218d219d21ad21bd21cd21dd21ed21fd220d221d222d223d224d225d226d227d228d229d22ad22bd22cd22dd22ed22fd230d231d232d233d234d235d236d237d238d239d23ad23bd23cd23dd23ed23fd240d241d242d243d244d245d246d247d248d249d24ad24bd24cd24dd24ed24fd250d251d252d253d254d255d256d257d258d259d25ad25bd25cd25dd25ed25fd260d261d262d263d264d265d266d267d268d269d26ad26bd26cd26dd26ed26fd270d271d272d273d274d275d276d277d278d279d27ad27bd27cd27dd27ed27fd280d281d282d283d284d285d286d287d288d289d28ad28bd28cd28dd28ed28fd290d291d292d293d294d295d296d297d298d299d29ad29bd29cd29dd29ed29fd2a0d2a1d2a2d2a3d2a4d2a5d2a6d2a7d2a8d2a9d2aad2abd2acd2add2aed2afd2b0d2b1d2b2d2b3d2b4d2b5d2b6d2b7d2b8d2b9d2bad2bbd2bcd2bdd2bed2bfd2c0d2c1d2c2d2c3d2c4d2c5d2c6d2c7d2c8d2c9d2cad2cbd2ccd2cdd2ced2cfd2d0d2d1d2d2d2d3d2d4d2d5d2d6d2d7d2d8d2d9d2dad2dbd2dcd2ddd2ded2dfd2e0d2e1d2e2d2e3d2e4d2e5d2e6d2e7d2e8d2e9d2ead2ebd2ecd2edd2eed2efd2f0d2f1d2f2d2f3d2f4d2f5d2f6d2f7d2f8d2f9d2fad2fbd2fcd2fdd2fed2ffd200d301d302d303d304d305d306d307d308d309d30ad30bd30cd30dd30ed30fd310d311d312d313d314d315d316d317d318d319d31ad31bd31cd31dd31ed31fd320d321d322d323d324d325d326d327d328d329d32ad32bd32cd32dd32ed32fd330d331d332d333d334d335d336d337d338d339d33ad33bd33cd33dd33ed33fd340d341d342d343d344d345d346d347d348d349d34ad34bd34cd34dd34ed34fd350d351d352d353d354d355d356d357d358d359d35ad35bd35cd35dd35ed35fd360d361d362d363d364d365d366d367d368d369d36ad36bd36cd36dd36ed36fd370d371d372d373d374d375d376d377d378d379d37ad37bd37cd37dd37ed37fd380d381d382d383d384d385d386d387d388d389d38ad38bd38cd38dd38ed38fd390d391d392d393d394d395d396d397d398d399d39ad39bd39cd39dd39ed39fd3a0d3a1d3a2d3a3d3a4d3a5d3a6d3a7d3a8d3a9d3aad3abd3acd3add3aed3afd3b0d3b1d3b2d3b3d3b4d3b5d3b6d3b7d3b8d3b9d3bad3bbd3bcd3bdd3bed3bfd3c0d3c1d3c2d3c3d3c4d3c5d3c6d3c7d3c8d3c9d3cad3cbd3ccd3cdd3ced3cfd3d0d3d1d3d2d3d3d3d4d3d5d3d6d3d7d3d8d3d9d3dad3dbd3dcd3ddd3ded3dfd3e0d3e1d3e2d3e3d3e4d3e5d3e6d3e7d3e8d3e9d3ead3ebd3ecd3edd3eed3efd3f0d3f1d3f2d3f3d3f4d3f5d3f6d3f7d3f8d3f9d3fad3fbd3fcd3fdd3fed3ffd300d401d402d403d404d405d406d407d408d409d40ad40bd40cd40dd40ed40fd410d411d412d413d414d415d416d417d418d419d41ad41bd41cd41dd41ed41fd420d421d422d423d424d425d426d427d428d429d42ad42bd42cd42dd42ed42fd430d431d432d433d434d435d436d437d438d439d43ad43bd43cd43dd43ed43fd440d441d442d443d444d445d446d447d448d449d44ad44bd44cd44dd44ed44fd450d451d452d453d454d455d456d457d458d459d45ad45bd45cd45dd45ed45fd460d461d462d463d464d465d466d467d468d469d46ad46bd46cd46dd46ed46fd470d471d472d473d474d475d476d477d478d479d47ad47bd47cd47dd47ed47fd480d481d482d483d484d485d486d487d488d489d48ad48bd48cd48dd48ed48fd490d491d492d493d494d495d496d497d498d499d49ad49bd49cd49dd49ed49fd4a0d4a1d4a2d4a3d4a4d4a5d4a6d4a7d4a8d4a9d4aad4abd4acd4add4aed4afd4b0d4b1d4b2d4b3d4b4d4b5d4b6d4b7d4b8d4b9d4bad4bbd4bcd4bdd4bed4bfd4c0d4c1d4c2d4c3d4c4d4c5d4c6d4c7d4c8d4c9d4cad4cbd4ccd4cdd4ced4cfd4d0d4d1d4d2d4d3d4d4d4d5d4d6d4d7d4d8d4d9d4dad4dbd4dcd4ddd4ded4dfd4e0d4e1d4e2d4e3d4e4d4e5d4e6d4e7d4e8d4e9d4ead4ebd4ecd4edd4eed4efd4f0d4f1d4f2d4f3d4f4d4f5d4f6d4f7d4f8d4f9d4fad4fbd4fcd4fdd4fed4ffd400d501d502d503d504d505d506d507d508d509d50ad50bd50cd50dd50ed50fd510d511d512d513d514d515d516d517d518d519d51ad51bd51cd51dd51ed51fd520d521d522d523d524d525d526d527d528d529d52ad52bd52cd52dd52ed52fd530d531d532d533d534d535d536d537d538d539d53ad53bd53cd53dd53ed53fd540d541d542d543d544d545d546d547d548d549d54ad54bd54cd54dd54ed54fd550d551d552d553d554d555d556d557d558d559d55ad55bd55cd55dd55ed55fd560d561d562d563d564d565d566d567d568d569d56ad56bd56cd56dd56ed56fd570d571d572d573d574d575d576d577d578d579d57ad57bd57cd57dd57ed57fd580d581d582d583d584d585d586d587d588d589d58ad58bd58cd58dd58ed58fd590d591d592d593d594d595d596d597d598d599d59ad59bd59cd59dd59ed59fd5a0d5a1d5a2d5a3d5a4d5a5d5a6d5a7d5a8d5a9d5aad5abd5acd5add5aed5afd5b0d5b1d5b2d5b3d5b4d5b5d5b6d5b7d5b8d5b9d5bad5bbd5bcd5bdd5bed5bfd5c0d5c1d5c2d5c3d5c4d5c5d5c6d5c7d5c8d5c9d5cad5cbd5ccd5cdd5ced5cfd5d0d5d1d5d2d5d3d5d4d5d5d5d6d5d7d5d8d5d9d5dad5dbd5dcd5ddd5ded5dfd5e0d5e1d5e2d5e3d5e4d5e5d5e6d5e7d5e8d5e9d5ead5ebd5ecd5edd5eed5efd5f0d5f1d5f2d5f3d5f4d5f5d5f6d5f7d5f8d5f9d5fad5fbd5fcd5fdd5fed5ffd500d601d602d603d604d605d606d607d608d609d60ad60bd60cd60dd60ed60fd610d611d612d613d614d615d616d617d618d619d61ad61bd61cd61dd61ed61fd620d621d622d623d624d625d626d627d628d629d62ad62bd62cd62dd62ed62fd630d631d632d633d634d635d636d637d638d639d63ad63bd63cd63dd63ed63fd640d641d642d643d644d645d646d647d648d649d64ad64bd64cd64dd64ed64fd650d651d652d653d654d655d656d657d658d659d65ad65bd65cd65dd65ed65fd660d661d662d663d664d665d666d667d668d669d66ad66bd66cd66dd66ed66fd670d671d672d673d674d675d676d677d678d679d67ad67bd67cd67dd67ed67fd680d681d682d683d684d685d686d687d688d689d68ad68bd68cd68dd68ed68fd690d691d692d693d694d695d696d697d698d699d69ad69bd69cd69dd69ed69fd6a0d6a1d6a2d6a3d6a4d6a5d6a6d6a7d6a8d6a9d6aad6abd6acd6add6aed6afd6b0d6b1d6b2d6b3d6b4d6b5d6b6d6b7d6b8d6b9d6bad6bbd6bcd6bdd6bed6bfd6c0d6c1d6c2d6c3d6c4d6c5d6c6d6c7d6c8d6c9d6cad6cbd6ccd6cdd6ced6cfd6d0d6d1d6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d6dad6dbd6dcd6ddd6ded6dfd6e0d6e1d6e2d6e3d6e4d6e5d6e6d6e7d6e8d6e9d6ead6ebd6ecd6edd6eed6efd6f0d6f1d6f2d6f3d6f4d6f5d6f6d6f7d6f8d6f9d6fad6fbd6fcd6fdd6fed6ffd600d701d702d703d704d705d706d707d708d709d70ad70bd70cd70dd70ed70fd710d711d712d713d714d715d716d717d718d719d71ad71bd71cd71dd71ed71fd720d721d722d723d724d725d726d727d728d729d72ad72bd72cd72dd72ed72fd730d731d732d733d734d735d736d737d738d739d73ad73bd73cd73dd73ed73fd740d741d742d743d744d745d746d747d748d749d74ad74bd74cd74dd74ed74fd750d751d752d753d754d755d756d757d758d759d75ad75bd75cd75dd75ed75fd760d761d762d763d764d765d766d767d768d769d76ad76bd76cd76dd76ed76fd770d771d772d773d774d775d776d777d778d779d77ad77bd77cd77dd77ed77fd780d781d782d783d784d785d786d787d788d789d78ad78bd78cd78dd78ed78fd790d791d792d793d794d795d796d797d798d799d79ad79bd79cd79dd79ed79fd7a0d7a1d7a2d7a3d7a4d7a5d7a6d7a7d7a8d7a9d7aad7abd7acd7add7aed7afd7b0d7b1d7b2d7b3d7b4d7b5d7b6d7b7d7b8d7b9d7bad7bbd7bcd7bdd7bed7bfd7c0d7c1d7c2d7c3d7c4d7c5d7c6d7c7d7c8d7c9d7cad7cbd7ccd7cdd7ced7cfd7d0d7d1d7d2d7d3d7d4d7d5d7d6d7d7d7d8d7d9d7dad7dbd7dcd7ddd7ded7dfd7e0d7e1d7e2d7e3d7e4d7e5d7e6d7e7d7e8d7e9d7ead7ebd7ecd7edd7eed7efd7f0d7f1d7f2d7f3d7f4d7f5d7f6d7f7d7f8d7f9d7fad7fbd7fcd7fdd7fed7ffd700d801d802d803d804d805d806d807d808d809d80ad80bd80cd80dd80ed80fd810d811d812d813d814d815d816d817d818d819d81ad81bd81cd81dd81ed81fd820d821d822d823d824d825d826d827d828d829d82ad82bd82cd82dd82ed82fd830d831d832d833d834d835d836d837d838d839d83ad83bd83cd83dd83ed83fd840d841d842d843d844d845d846d847d848d849d84ad84bd84cd84dd84ed84fd850d851d852d853d854d855d856d857d858d859d85ad85bd85cd85dd85ed85fd860d861d862d863d864d865d866d867d868d869d86ad86bd86cd86dd86ed86fd870d871d872d873d874d875d876d877d878d879d87ad87bd87cd87dd87ed87fd880d881d882d883d884d885d886d887d888d889d88ad88bd88cd88dd88ed88fd890d891d892d893d894d895d896d897d898d899d89ad89bd89cd89dd89ed89fd8a0d8a1d8a2d8a3d8a4d8a5d8a6d8a7d8a8d8a9d8aad8abd8acd8add8aed8afd8b0d8b1d8b2d8b3d8b4d8b5d8b6d8b7d8b8d8b9d8bad8bbd8bcd8bdd8bed8bfd8c0d8c1d8c2d8c3d8c4d8c5d8c6d8c7d8c8d8c9d8cad8cbd8ccd8cdd8ced8cfd8d0d8d1d8d2d8d3d8d4d8d5d8d6d8d7d8d8d8d9d8dad8dbd8dcd8ddd8ded8dfd8e0d8e1d8e2d8e3d8e4d8e5d8e6d8e7d8e8d8e9d8ead8ebd8ecd8edd8eed8efd8f0d8f1d8f2d8f3d8f4d8f5d8f6d8f7d8f8d8f9d8fad8fbd8fcd8fdd8fed8ffd800d901d902d903d904d905d906d907d908d909d90ad90bd90cd90dd90ed90fd910d911d912d913d914d915d916d917d918d919d91ad91bd91cd91dd91ed91fd920d921d922d923d924d925d926d927d928d929d92ad92bd92cd92dd92ed92fd930d931d932d933d934d935d936d937d938d939d93ad93bd93cd93dd93ed93fd940d941d942d943d944d945d946d947d948d949d94ad94bd94cd94dd94ed94fd950d951d952d953d954d955d956d957d958d959d95ad95bd95cd95dd95ed95fd960d961d962d963d964d965d966d967d968d969d96ad96bd96cd96dd96ed96fd970d971d972d973d974d975d976d977d978d979d97ad97bd97cd97dd97ed97fd980d981d982d983d984d985d986d987d988d989d98ad98bd98cd98dd98ed98fd990d991d992d993d994d995d996d997d998d999d99ad99bd99cd99dd99ed99fd9a0d9a1d9a2d9a3d9a4d9a5d9a6d9a7d9a8d9a9d9aad9abd9acd9add9aed9afd9b0d9b1d9b2d9b3d9b4d9b5d9b6d9b7d9b8d9b9d9bad9bbd9bcd9bdd9bed9bfd9c0d9c1d9c2d9c3d9c4d9c5d9c6d9c7d9c8d9c9d9cad9cbd9ccd9cdd9ced9cfd9d0d9d1d9d2d9d3d9d4d9d5d9d6d9d7d9d8d9d9d9dad9dbd9dcd9ddd9ded9dfd9e0d9e1d9e2d9e3d9e4d9e5d9e6d9e7d9e8d9e9d9ead9ebd9ecd9edd9eed9efd9f0d9f1d9f2d9f3d9f4d9f5d9f6d9f7d9f8d9f9d9fad9fbd9fcd9fdd9fed9ffd900da01da02da03da04da05da06da07da08da09da0ada0bda0cda0dda0eda0fda10da11da12da13da14da15da16da17da18da19da1ada1bda1cda1dda1eda1fda20da21da22da23da24da25da26da27da28da29da2ada2bda2cda2dda2eda2fda30da31da32da33da34da35da36da37da38da39da3ada3bda3cda3dda3eda3fda40da41da42da43da44da45da46da47da48da49da4ada4bda4cda4dda4eda4fda50da51da52da53da54da55da56da57da58da59da5ada5bda5cda5dda5eda5fda60da61da62da63da64da65da66da67da68da69da6ada6bda6cda6dda6eda6fda70da71da72da73da74da75da76da77da78da79da7ada7bda7cda7dda7eda7fda80da81da82da83da84da85da86da87da88da89da8ada8bda8cda8dda8eda8fda90da91da92da93da94da95da96da97da98da99da9ada9bda9cda9dda9eda9fdaa0daa1daa2daa3daa4daa5daa6daa7daa8daa9daaadaabdaacdaaddaaedaafdab0dab1dab2dab3dab4dab5dab6dab7dab8dab9dabadabbdabcdabddabedabfdac0dac1dac2dac3dac4dac5dac6dac7dac8dac9dacadacbdaccdacddacedacfdad0dad1dad2dad3dad4dad5dad6dad7dad8dad9dadadadbdadcdadddadedadfdae0dae1dae2dae3dae4dae5dae6dae7dae8dae9daeadaebdaecdaeddaeedaefdaf0daf1daf2daf3daf4daf5daf6daf7daf8daf9dafadafbdafcdafddafedaffda00db01db02db03db04db05db06db07db08db09db0adb0bdb0cdb0ddb0edb0fdb10db11db12db13db14db15db16db17db18db19db1adb1bdb1cdb1ddb1edb1fdb20db21db22db23db24db25db26db27db28db29db2adb2bdb2cdb2ddb2edb2fdb30db31db32db33db34db35db36db37db38db39db3adb3bdb3cdb3ddb3edb3fdb40db41db42db43db44db45db46db47db48db49db4adb4bdb4cdb4ddb4edb4fdb50db51db52db53db54db55db56db57db58db59db5adb5bdb5cdb5ddb5edb5fdb60db61db62db63db64db65db66db67db68db69db6adb6bdb6cdb6ddb6edb6fdb70db71db72db73db74db75db76db77db78db79db7adb7bdb7cdb7ddb7edb7fdb80db81db82db83db84db85db86db87db88db89db8adb8bdb8cdb8ddb8edb8fdb90db91db92db93db94db95db96db97db98db99db9adb9bdb9cdb9ddb9edb9fdba0dba1dba2dba3dba4dba5dba6dba7dba8dba9dbaadbabdbacdbaddbaedbafdbb0dbb1dbb2dbb3dbb4dbb5dbb6dbb7dbb8dbb9dbbadbbbdbbcdbbddbbedbbfdbc0dbc1dbc2dbc3dbc4dbc5dbc6dbc7dbc8dbc9dbcadbcbdbccdbcddbcedbcfdbd0dbd1dbd2dbd3dbd4dbd5dbd6dbd7dbd8dbd9dbdadbdbdbdcdbdddbdedbdfdbe0dbe1dbe2dbe3dbe4dbe5dbe6dbe7dbe8dbe9dbeadbebdbecdbeddbeedbefdbf0dbf1dbf2dbf3dbf4dbf5dbf6dbf7dbf8dbf9dbfadbfbdbfcdbfddbfedbffdb00dc01dc02dc03dc04dc05dc06dc07dc08dc09dc0adc0bdc0cdc0ddc0edc0fdc10dc11dc12dc13dc14dc15dc16dc17dc18dc19dc1adc1bdc1cdc1ddc1edc1fdc20dc21dc22dc23dc24dc25dc26dc27dc28dc29dc2adc2bdc2cdc2ddc2edc2fdc30dc31dc32dc33dc34dc35dc36dc37dc38dc39dc3adc3bdc3cdc3ddc3edc3fdc40dc41dc42dc43dc44dc45dc46dc47dc48dc49dc4adc4bdc4cdc4ddc4edc4fdc50dc51dc52dc53dc54dc55dc56dc57dc58dc59dc5adc5bdc5cdc5ddc5edc5fdc60dc61dc62dc63dc64dc65dc66dc67dc68dc69dc6adc6bdc6cdc6ddc6edc6fdc70dc71dc72dc73dc74dc75dc76dc77dc78dc79dc7adc7bdc7cdc7ddc7edc7fdc80dc81dc82dc83dc84dc85dc86dc87dc88dc89dc8adc8bdc8cdc8ddc8edc8fdc90dc91dc92dc93dc94dc95dc96dc97dc98dc99dc9adc9bdc9cdc9ddc9edc9fdca0dca1dca2dca3dca4dca5dca6dca7dca8dca9dcaadcabdcacdcaddcaedcafdcb0dcb1dcb2dcb3dcb4dcb5dcb6dcb7dcb8dcb9dcbadcbbdcbcdcbddcbedcbfdcc0dcc1dcc2dcc3dcc4dcc5dcc6dcc7dcc8dcc9dccadccbdcccdccddccedccfdcd0dcd1dcd2dcd3dcd4dcd5dcd6dcd7dcd8dcd9dcdadcdbdcdcdcdddcdedcdfdce0dce1dce2dce3dce4dce5dce6dce7dce8dce9dceadcebdcecdceddceedcefdcf0dcf1dcf2dcf3dcf4dcf5dcf6dcf7dcf8dcf9dcfadcfbdcfcdcfddcfedcffdc00dd01dd02dd03dd04dd05dd06dd07dd08dd09dd0add0bdd0cdd0ddd0edd0fdd10dd11dd12dd13dd14dd15dd16dd17dd18dd19dd1add1bdd1cdd1ddd1edd1fdd20dd21dd22dd23dd24dd25dd26dd27dd28dd29dd2add2bdd2cdd2ddd2edd2fdd30dd31dd32dd33dd34dd35dd36dd37dd38dd39dd3add3bdd3cdd3ddd3edd3fdd40dd41dd42dd43dd44dd45dd46dd47dd48dd49dd4add4bdd4cdd4ddd4edd4fdd50dd51dd52dd53dd54dd55dd56dd57dd58dd59dd5add5bdd5cdd5ddd5edd5fdd60dd61dd62dd63dd64dd65dd66dd67dd68dd69dd6add6bdd6cdd6ddd6edd6fdd70dd71dd72dd73dd74dd75dd76dd77dd78dd79dd7add7bdd7cdd7ddd7edd7fdd80dd81dd82dd83dd84dd85dd86dd87dd88dd89dd8add8bdd8cdd8ddd8edd8fdd90dd91dd92dd93dd94dd95dd96dd97dd98dd99dd9add9bdd9cdd9ddd9edd9fdda0dda1dda2dda3dda4dda5dda6dda7dda8dda9ddaaddabddacddadddaeddafddb0ddb1ddb2ddb3ddb4ddb5ddb6ddb7ddb8ddb9ddbaddbbddbcddbdddbeddbfddc0ddc1ddc2ddc3ddc4ddc5ddc6ddc7ddc8ddc9ddcaddcbddccddcdddceddcfddd0ddd1ddd2ddd3ddd4ddd5ddd6ddd7ddd8ddd9dddadddbdddcdddddddedddfdde0dde1dde2dde3dde4dde5dde6dde7dde8dde9ddeaddebddecddedddeeddefddf0ddf1ddf2ddf3ddf4ddf5ddf6ddf7ddf8ddf9ddfaddfbddfcddfdddfeddffdd00de01de02de03de04de05de06de07de08de09de0ade0bde0cde0dde0ede0fde10de11de12de13de14de15de16de17de18de19de1ade1bde1cde1dde1ede1fde20de21de22de23de24de25de26de27de28de29de2ade2bde2cde2dde2ede2fde30de31de32de33de34de35de36de37de38de39de3ade3bde3cde3dde3ede3fde40de41de42de43de44de45de46de47de48de49de4ade4bde4cde4dde4ede4fde50de51de52de53de54de55de56de57de58de59de5ade5bde5cde5dde5ede5fde60de61de62de63de64de65de66de67de68de69de6ade6bde6cde6dde6ede6fde70de71de72de73de74de75de76de77de78de79de7ade7bde7cde7dde7ede7fde80de81de82de83de84de85de86de87de88de89de8ade8bde8cde8dde8ede8fde90de91de92de93de94de95de96de97de98de99de9ade9bde9cde9dde9ede9fdea0dea1dea2dea3dea4dea5dea6dea7dea8dea9deaadeabdeacdeaddeaedeafdeb0deb1deb2deb3deb4deb5deb6deb7deb8deb9debadebbdebcdebddebedebfdec0dec1dec2dec3dec4dec5dec6dec7dec8dec9decadecbdeccdecddecedecfded0ded1ded2ded3ded4ded5ded6ded7ded8ded9dedadedbdedcdedddedededfdee0dee1dee2dee3dee4dee5dee6dee7dee8dee9deeadeebdeecdeeddeeedeefdef0def1def2def3def4def5def6def7def8def9defadefbdefcdefddefedeffde00df01df02df03df04df05df06df07df08df09df0adf0bdf0cdf0ddf0edf0fdf10df11df12df13df14df15df16df17df18df19df1adf1bdf1cdf1ddf1edf1fdf20df21df22df23df24df25df26df27df28df29df2adf2bdf2cdf2ddf2edf2fdf30df31df32df33df34df35df36df37df38df39df3adf3bdf3cdf3ddf3edf3fdf40df41df42df43df44df45df46df47df48df49df4adf4bdf4cdf4ddf4edf4fdf50df51df52df53df54df55df56df57df58df59df5adf5bdf5cdf5ddf5edf5fdf60df61df62df63df64df65df66df67df68df69df6adf6bdf6cdf6ddf6edf6fdf70df71df72df73df74df75df76df77df78df79df7adf7bdf7cdf7ddf7edf7fdf80df81df82df83df84df85df86df87df88df89df8adf8bdf8cdf8ddf8edf8fdf90df91df92df93df94df95df96df97df98df99df9adf9bdf9cdf9ddf9edf9fdfa0dfa1dfa2dfa3dfa4dfa5dfa6dfa7dfa8dfa9dfaadfabdfacdfaddfaedfafdfb0dfb1dfb2dfb3dfb4dfb5dfb6dfb7dfb8dfb9dfbadfbbdfbcdfbddfbedfbfdfc0dfc1dfc2dfc3dfc4dfc5dfc6dfc7dfc8dfc9dfcadfcbdfccdfcddfcedfcfdfd0dfd1dfd2dfd3dfd4dfd5dfd6dfd7dfd8dfd9dfdadfdbdfdcdfdddfdedfdfdfe0dfe1dfe2dfe3dfe4dfe5dfe6dfe7dfe8dfe9dfeadfebdfecdfeddfeedfefdff0dff1dff2dff3dff4dff5dff6dff7dff8dff9dffadffbdffcdffddffedfffdf00e001e002e003e004e005e006e007e008e009e00ae00be00ce00de00ee00fe010e011e012e013e014e015e016e017e018e019e01ae01be01ce01de01ee01fe020e021e022e023e024e025e026e027e028e029e02ae02be02ce02de02ee02fe030e031e032e033e034e035e036e037e038e039e03ae03be03ce03de03ee03fe040e041e042e043e044e045e046e047e048e049e04ae04be04ce04de04ee04fe050e051e052e053e054e055e056e057e058e059e05ae05be05ce05de05ee05fe060e061e062e063e064e065e066e067e068e069e06ae06be06ce06de06ee06fe070e071e072e073e074e075e076e077e078e079e07ae07be07ce07de07ee07fe080e081e082e083e084e085e086e087e088e089e08ae08be08ce08de08ee08fe090e091e092e093e094e095e096e097e098e099e09ae09be09ce09de09ee09fe0a0e0a1e0a2e0a3e0a4e0a5e0a6e0a7e0a8e0a9e0aae0abe0ace0ade0aee0afe0b0e0b1e0b2e0b3e0b4e0b5e0b6e0b7e0b8e0b9e0bae0bbe0bce0bde0bee0bfe0c0e0c1e0c2e0c3e0c4e0c5e0c6e0c7e0c8e0c9e0cae0cbe0cce0cde0cee0cfe0d0e0d1e0d2e0d3e0d4e0d5e0d6e0d7e0d8e0d9e0dae0dbe0dce0dde0dee0dfe0e0e0e1e0e2e0e3e0e4e0e5e0e6e0e7e0e8e0e9e0eae0ebe0ece0ede0eee0efe0f0e0f1e0f2e0f3e0f4e0f5e0f6e0f7e0f8e0f9e0fae0fbe0fce0fde0fee0ffe000e101e102e103e104e105e106e107e108e109e10ae10be10ce10de10ee10fe110e111e112e113e114e115e116e117e118e119e11ae11be11ce11de11ee11fe120e121e122e123e124e125e126e127e128e129e12ae12be12ce12de12ee12fe130e131e132e133e134e135e136e137e138e139e13ae13be13ce13de13ee13fe140e141e142e143e144e145e146e147e148e149e14ae14be14ce14de14ee14fe150e151e152e153e154e155e156e157e158e159e15ae15be15ce15de15ee15fe160e161e162e163e164e165e166e167e168e169e16ae16be16ce16de16ee16fe170e171e172e173e174e175e176e177e178e179e17ae17be17ce17de17ee17fe180e181e182e183e184e185e186e187e188e189e18ae18be18ce18de18ee18fe190e191e192e193e194e195e196e197e198e199e19ae19be19ce19de19ee19fe1a0e1a1e1a2e1a3e1a4e1a5e1a6e1a7e1a8e1a9e1aae1abe1ace1ade1aee1afe1b0e1b1e1b2e1b3e1b4e1b5e1b6e1b7e1b8e1b9e1bae1bbe1bce1bde1bee1bfe1c0e1c1e1c2e1c3e1c4e1c5e1c6e1c7e1c8e1c9e1cae1cbe1cce1cde1cee1cfe1d0e1d1e1d2e1d3e1d4e1d5e1d6e1d7e1d8e1d9e1dae1dbe1dce1dde1dee1dfe1e0e1e1e1e2e1e3e1e4e1e5e1e6e1e7e1e8e1e9e1eae1ebe1ece1ede1eee1efe1f0e1f1e1f2e1f3e1f4e1f5e1f6e1f7e1f8e1f9e1fae1fbe1fce1fde1fee1ffe100e201e202e203e204e205e206e207e208e209e20ae20be20ce20de20ee20fe210e211e212e213e214e215e216e217e218e219e21ae21be21ce21de21ee21fe220e221e222e223e224e225e226e227e228e229e22ae22be22ce22de22ee22fe230e231e232e233e234e235e236e237e238e239e23ae23be23ce23de23ee23fe240e241e242e243e244e245e246e247e248e249e24ae24be24ce24de24ee24fe250e251e252e253e254e255e256e257e258e259e25ae25be25ce25de25ee25fe260e261e262e263e264e265e266e267e268e269e26ae26be26ce26de26ee26fe270e271e272e273e274e275e276e277e278e279e27ae27be27ce27de27ee27fe280e281e282e283e284e285e286e287e288e289e28ae28be28ce28de28ee28fe290e291e292e293e294e295e296e297e298e299e29ae29be29ce29de29ee29fe2a0e2a1e2a2e2a3e2a4e2a5e2a6e2a7e2a8e2a9e2aae2abe2ace2ade2aee2afe2b0e2b1e2b2e2b3e2b4e2b5e2b6e2b7e2b8e2b9e2bae2bbe2bce2bde2bee2bfe2c0e2c1e2c2e2c3e2c4e2c5e2c6e2c7e2c8e2c9e2cae2cbe2cce2cde2cee2cfe2d0e2d1e2d2e2d3e2d4e2d5e2d6e2d7e2d8e2d9e2dae2dbe2dce2dde2dee2dfe2e0e2e1e2e2e2e3e2e4e2e5e2e6e2e7e2e8e2e9e2eae2ebe2ece2ede2eee2efe2f0e2f1e2f2e2f3e2f4e2f5e2f6e2f7e2f8e2f9e2fae2fbe2fce2fde2fee2ffe200e301e302e303e304e305e306e307e308e309e30ae30be30ce30de30ee30fe310e311e312e313e314e315e316e317e318e319e31ae31be31ce31de31ee31fe320e321e322e323e324e325e326e327e328e329e32ae32be32ce32de32ee32fe330e331e332e333e334e335e336e337e338e339e33ae33be33ce33de33ee33fe340e341e342e343e344e345e346e347e348e349e34ae34be34ce34de34ee34fe350e351e352e353e354e355e356e357e358e359e35ae35be35ce35de35ee35fe360e361e362e363e364e365e366e367e368e369e36ae36be36ce36de36ee36fe370e371e372e373e374e375e376e377e378e379e37ae37be37ce37de37ee37fe380e381e382e383e384e385e386e387e388e389e38ae38be38ce38de38ee38fe390e391e392e393e394e395e396e397e398e399e39ae39be39ce39de39ee39fe3a0e3a1e3a2e3a3e3a4e3a5e3a6e3a7e3a8e3a9e3aae3abe3ace3ade3aee3afe3b0e3b1e3b2e3b3e3b4e3b5e3b6e3b7e3b8e3b9e3bae3bbe3bce3bde3bee3bfe3c0e3c1e3c2e3c3e3c4e3c5e3c6e3c7e3c8e3c9e3cae3cbe3cce3cde3cee3cfe3d0e3d1e3d2e3d3e3d4e3d5e3d6e3d7e3d8e3d9e3dae3dbe3dce3dde3dee3dfe3e0e3e1e3e2e3e3e3e4e3e5e3e6e3e7e3e8e3e9e3eae3ebe3ece3ede3eee3efe3f0e3f1e3f2e3f3e3f4e3f5e3f6e3f7e3f8e3f9e3fae3fbe3fce3fde3fee3ffe300e401e402e403e404e405e406e407e408e409e40ae40be40ce40de40ee40fe410e411e412e413e414e415e416e417e418e419e41ae41be41ce41de41ee41fe420e421e422e423e424e425e426e427e428e429e42ae42be42ce42de42ee42fe430e431e432e433e434e435e436e437e438e439e43ae43be43ce43de43ee43fe440e441e442e443e444e445e446e447e448e449e44ae44be44ce44de44ee44fe450e451e452e453e454e455e456e457e458e459e45ae45be45ce45de45ee45fe460e461e462e463e464e465e466e467e468e469e46ae46be46ce46de46ee46fe470e471e472e473e474e475e476e477e478e479e47ae47be47ce47de47ee47fe480e481e482e483e484e485e486e487e488e489e48ae48be48ce48de48ee48fe490e491e492e493e494e495e496e497e498e499e49ae49be49ce49de49ee49fe4a0e4a1e4a2e4a3e4a4e4a5e4a6e4a7e4a8e4a9e4aae4abe4ace4ade4aee4afe4b0e4b1e4b2e4b3e4b4e4b5e4b6e4b7e4b8e4b9e4bae4bbe4bce4bde4bee4bfe4c0e4c1e4c2e4c3e4c4e4c5e4c6e4c7e4c8e4c9e4cae4cbe4cce4cde4cee4cfe4d0e4d1e4d2e4d3e4d4e4d5e4d6e4d7e4d8e4d9e4dae4dbe4dce4dde4dee4dfe4e0e4e1e4e2e4e3e4e4e4e5e4e6e4e7e4e8e4e9e4eae4ebe4ece4ede4eee4efe4f0e4f1e4f2e4f3e4f4e4f5e4f6e4f7e4f8e4f9e4fae4fbe4fce4fde4fee4ffe400e501e502e503e504e505e506e507e508e509e50ae50be50ce50de50ee50fe510e511e512e513e514e515e516e517e518e519e51ae51be51ce51de51ee51fe520e521e522e523e524e525e526e527e528e529e52ae52be52ce52de52ee52fe530e531e532e533e534e535e536e537e538e539e53ae53be53ce53de53ee53fe540e541e542e543e544e545e546e547e548e549e54ae54be54ce54de54ee54fe550e551e552e553e554e555e556e557e558e559e55ae55be55ce55de55ee55fe560e561e562e563e564e565e566e567e568e569e56ae56be56ce56de56ee56fe570e571e572e573e574e575e576e577e578e579e57ae57be57ce57de57ee57fe580e581e582e583e584e585e586e587e588e589e58ae58be58ce58de58ee58fe590e591e592e593e594e595e596e597e598e599e59ae59be59ce59de59ee59fe5a0e5a1e5a2e5a3e5a4e5a5e5a6e5a7e5a8e5a9e5aae5abe5ace5ade5aee5afe5b0e5b1e5b2e5b3e5b4e5b5e5b6e5b7e5b8e5b9e5bae5bbe5bce5bde5bee5bfe5c0e5c1e5c2e5c3e5c4e5c5e5c6e5c7e5c8e5c9e5cae5cbe5cce5cde5cee5cfe5d0e5d1e5d2e5d3e5d4e5d5e5d6e5d7e5d8e5d9e5dae5dbe5dce5dde5dee5dfe5e0e5e1e5e2e5e3e5e4e5e5e5e6e5e7e5e8e5e9e5eae5ebe5ece5ede5eee5efe5f0e5f1e5f2e5f3e5f4e5f5e5f6e5f7e5f8e5f9e5fae5fbe5fce5fde5fee5ffe500e601e602e603e604e605e606e607e608e609e60ae60be60ce60de60ee60fe610e611e612e613e614e615e616e617e618e619e61ae61be61ce61de61ee61fe620e621e622e623e624e625e626e627e628e629e62ae62be62ce62de62ee62fe630e631e632e633e634e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x88000}, {&(0x7f0000052900)="46494c453000090000000000000000000100010048000100a80100000010000000000000000000000400000000000000080000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd60100b001000000000000b00100000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a00000000000000400000000000000000b004000000000000600400000000000060040000000000113f04210c3f0100b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff00"/448, 0x1c0, 0xff000}, {&(0x7f0000052b00)='\x00\x00\x00\x00\x00\x00\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, 0xff1e0}, {&(0x7f0000052c00)='\x00\x00\x00\x00\x00\x00\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, 0xff3e0}, {&(0x7f0000052d00)='\x00\x00\x00\x00\x00\x00\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, 0xff5e0}, {&(0x7f0000052e00)='\x00\x00\x00\x00\x00\x00\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, 0xff7e0}, {&(0x7f0000052f00)='\x00\x00\x00\x00\x00\x00\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}, {&(0x7f0000053000)='\x00\x00\x00\x00\x00\x00\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}, {&(0x7f0000053100)='\x00\x00\x00\x00\x00\x00\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}, {&(0x7f0000053200)="000000000000000000000000000000000000000000000000000000000000080046494c453000090000000000000000000100010048000100680100000010000000000000000000000300000001000000020000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601004000000000000000400000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000040000000000000004000000000000000400000000000002104ff0000000000ffffffff00"/416, 0x1a0, 0xfffe0}, {&(0x7f0000053400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f0000053500)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f0000053600)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f0000053700)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1007e0}, {&(0x7f0000053800)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1009e0}, {&(0x7f0000053900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100be0}, {&(0x7f0000053a00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100de0}, {&(0x7f0000053b00)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000200010048000100680100000010000000000000000000000300000002000000020000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140030100000000ffffffff00"/416, 0x1a0, 0x100fe0}, {&(0x7f0000053d00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1011e0}, {&(0x7f0000053e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1013e0}, {&(0x7f0000053f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1015e0}, {&(0x7f0000054000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1017e0}, {&(0x7f0000054100)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1019e0}, {&(0x7f0000054200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x101be0}, {&(0x7f0000054300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x101de0}, {&(0x7f0000054400)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000300010048000100f00100000010000000000000000000000600000003000000020000000000000000000000000000000000000000000000100000004800000000001800000000003000000018000000009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff0000000000000000000000000000000000000200", 0x220, 0x101fe0}, {&(0x7f0000054700)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1023e0}, {&(0x7f0000054800)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1025e0}, {&(0x7f0000054900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1027e0}, {&(0x7f0000054a00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1029e0}, {&(0x7f0000054b00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x102be0}, {&(0x7f0000054c00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x102de0}, {&(0x7f0000054d00)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff46494c45300009000000000000000000010000004800000050000000001000000000000000000000000000003f000000020000000000000000000000000000000000000000000000ffffffff00"/262272, 0x40080, 0x102fe0}, {&(0x7f0000094e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1431e0}, {&(0x7f0000094f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1433e0}, {&(0x7f0000095000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1435e0}, {&(0x7f0000095100)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1437e0}, {&(0x7f0000095200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1439e0}, {&(0x7f0000095300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x143be0}, {&(0x7f0000095400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x143de0}, {&(0x7f0000095500)="000000000000000000000000000000000000000000000000000000000000020046494c45300009000000000000000000010001004800030078020000001000000000000000000000040000004000000006000000000000000000000000000000000000000000000010000000480000000000000000000000300000001800000040eb3901c88dd601a51c3a01c88dd601a51c3a01c88dd60140eb3901c88dd60120000000000000000000000000000000300000006800000000000000000003004c00000018000100050000000000050040eb3901c88dd60140eb3901c88dd60140eb3901c88dd60140eb3901c88dd6010000000000000000000000000000000020000010000000000500660069006c0065003000000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f0001010000000000010000000090000000100100000004180000000200f00000002000000024004900330030003000000001000000001000000100000010000000e0000000e000000000000000410000000000010060004c0000000000400000000000010028fb3901c88dd601850e3a01c88dd601850e3a01c88dd60128fb3901c88dd60120040000000000001a0400000000000020000000000000000500660069006c006500300000000600420000000000010060004c000000000040000000000001006f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6015800000000000000540000000000000024000000000000000500660069006c00650031000000000000000000000000001000000002000000ffffffff00"/672, 0x2a0, 0x143fe0}, {&(0x7f0000095800)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1443e0}, {&(0x7f0000095900)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1445e0}, {&(0x7f0000095a00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1447e0}, {&(0x7f0000095b00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1449e0}, {&(0x7f0000095c00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x144be0}, {&(0x7f0000095d00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x144de0}, {&(0x7f0000095e00)="000000000000000000000000000000000000000000000000000000000000060046494c453000090000000000000000000100010048000100a0050000001000000000000000000000040000004100000005007273657200000000000000000000000000000000000010000000480000000000000000000000300000001800000028fb3901c88dd601850e3a01c88dd601850e3a01c88dd60128fb3901c88dd60120000000000000000000000000000000300000006800000000000000000003004c00000018000100400000000000010028fb3901c88dd60128fb3901c88dd60128fb3901c88dd60128fb3901c88dd6012004000000000000000000000000000020000000000000000500660069006c0065003000000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000003804000000000000000002001a0400001800000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c650500797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c050073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000ffffffff00000000", 0x5c0, 0x144fe0}, {&(0x7f0000096400)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1455e0}, {&(0x7f0000096500)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1457e0}, {&(0x7f0000096600)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1459e0}, {&(0x7f0000096700)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x145be0}, {&(0x7f0000096800)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x145de0}, {&(0x7f0000096900)="000000000000000000000000000000000000000000000000000000000000050046494c453000090000000000000000000100010048000100d801000000100000000000000000000004000000420000000300000000000000000000000000000000000000000000001000000048000000000000000000000030000000180000006f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd60124000000000000000000000000000000300000006800000000000000000003004c0000001800010040000000000001006f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6015800000000000000540000000000000024000000000000000500660069006c0065003100000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000007000000000000000000002005400000018000000496e74784c4e4b012f0074006d0070002f00730079007a002d0069006d00610067006500670065006e003500350031003400330038003100390034002f00660069006c00650030002f00660069006c006500300000000000ffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000300", 0x220, 0x145fe0}, {&(0x7f0000096c00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1463e0}, {&(0x7f0000096d00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1465e0}, {&(0x7f0000096e00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1467e0}, {&(0x7f0000096f00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1469e0}, {&(0x7f0000097000)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x146be0}, {&(0x7f0000097100)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x146de0}, {&(0x7f0000097200)="000000000000000000000000000000000000000000000000000000000000030046494c453000090000000000000000000100010048000100f001000000100000000000000000000006000000430000000900000000000000000000000000000000000000000000001000000048000000000000000000000030000000180000007c283a01c88dd601274d3a01c88dd601d5623a01c88dd6017c283a01c88dd60120000000000000000000000000000000300000006800000000000000000003004c0000001800010005000000000005007c283a01c88dd6017c283a01c88dd6017c283a01c88dd6017c283a01c88dd6011000000000000000000000000000000020000000000000000500660069006c0065003100000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000002800000000000000000002000a0000001800000073797a6b616c6c657273000000000000800000003000000000061800000004000600000028000000780061007400740072003100000000007861747472310000800000003000000000061800000005000600000028000000780061007400740072003200000000007861747472320000ffffffff0000000000000000000000000000000000000900", 0x220, 0x146fe0}, {&(0x7f0000097500)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x1473e0}, {&(0x7f0000097600)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x1475e0}, {&(0x7f0000097700)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x1477e0}, {&(0x7f0000097800)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x1479e0}, {&(0x7f0000097900)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x147be0}, {&(0x7f0000097a00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00', 0x20, 0x147de0}, {&(0x7f0000097b00)="000000000000000000000000000000000000000000000000000000000000090046494c4530000900000000000000000001000200480001001802000000100000000000000000000005000000440000000a0000000000000000000000000000000000000000000000100000004800000000000000000000003000000018000000966d3a01c88dd6018d8c3a01c88dd60170993a01c88dd601966d3a01c88dd60120000000000000000000000000000000300000006800000000000000000004004c000000180001000500000000000500966d3a01c88dd6018d8c3a01c88dd6018d8c3a01c88dd601966d3a01c88dd6010030000000000000282300000000000020000000000000000500660069006c006500330000000000300000006800000000000000000003004c000000180001000500000000000500966d3a01c88dd601966d3a01c88dd601966d3a01c88dd601966d3a01c88dd6010030000000000000000000000000000020000000000000000500660069006c0065003200000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f000101000000000001000000008000000048000000010040000000020000000000000000000200000000000000400000000000000000300000000000002823000000000a00282300000000000021034f0100000000ffffffff00"/576, 0x240, 0x147fe0}, {&(0x7f0000097e00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x1483e0}, {&(0x7f0000097f00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x1485e0}, {&(0x7f0000098000)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x1487e0}, {&(0x7f0000098100)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x1489e0}, {&(0x7f0000098200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x148be0}, {&(0x7f0000098300)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00', 0x20, 0x148de0}, {&(0x7f0000098400)="0000000000000000000000000000000000000000000000000000000000000a0046494c453000090000000000000000000100010048000100f0010000001000000000000000000000040000004500000005000000000000000000000000000000000000000000000010000000480000000000000000000000300000001800000071a63a01c88dd60182b33a01c88dd60182b33a01c88dd60171a63a01c88dd60120000000000000000000000000000000300000007000000000000000000003005400000018000100050000000000050071a63a01c88dd60171a63a01c88dd60171a63a01c88dd60171a63a01c88dd6016800000000000000000000000000000020000000000000000900660069006c0065002e0063006f006c006400180000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f0001010000000000010000000080000000800000000000000000000200640000001800000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727300000000ffffffff0000000000000000000000000000000000000500", 0x220, 0x148fe0}, {&(0x7f0000098700)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1493e0}, {&(0x7f0000098800)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1495e0}, {&(0x7f0000098900)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1497e0}, {&(0x7f0000098a00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1499e0}, {&(0x7f0000098b00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149be0}, {&(0x7f0000098c00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149de0}, {&(0x7f0000098d00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149fe0}, {&(0x7f0000098e00)="eb52904e5446532020202000100100000000000000f8000000000000000000000000000080008000ff010000000000000400000000000000ff000000000000000100000001000000bc27b44498059524000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff000}, {&(0x7f0000098f00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff1e0}], 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="d3495d6abd5f6f452ca42a17f798f0454ee4b7b0210ca3bc914c5a17acc398215a9bdb60af1b48ea569e06c1fc"]) socket$inet6_tcp(0xa, 0x1, 0x0) 17:42:04 executing program 3: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x90) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x4c004, &(0x7f0000000300)=ANY=[@ANYRES16=r0]) r1 = syz_mount_image$afs(&(0x7f0000000100)='afs\x00', 0x0, 0x1, 0x1, &(0x7f0000000a00)=[{&(0x7f0000000b00)="e6a33dba286b04916a796b00b14065d78e3c359c84901ee894ffab46d649c1558a8e73a62361315d56b9121ae6709687207a7f236b5159974b6976d897ca7e0a02e2b2f85adaa20e4e5b53f15d2f583e05311b2b63fc4315a44a52e46a9735e5176904b3cd49c2441aa4e1ec3b4d99987886a1f5e9592365ccc88a2920a1290705eb45d6658930", 0x87, 0x5}], 0x0, 0x0) ioctl$F2FS_IOC_WRITE_CHECKPOINT(r1, 0xf507, 0x0) chmod(&(0x7f0000000040)='./bus\x00', 0x41) syz_mount_image$qnx6(0x0, 0x0, 0x27, 0x5, &(0x7f0000000840)=[{0x0}, {&(0x7f0000000180)="5690ebc2784d685c", 0x8, 0x1a07}, {&(0x7f0000000200), 0x0, 0x100}, {0x0, 0x0, 0x7}, {0x0, 0x0, 0x7}], 0x829042, &(0x7f0000000480)=ANY=[@ANYRES32]) r2 = syz_open_dev$dri(&(0x7f0000000000)='/dev/dri/card#\x00', 0x0, 0x0) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r2, 0xc00c642e, &(0x7f0000000040)) ioctl$DRM_IOCTL_GET_CTX(r2, 0xc0086423, &(0x7f0000000140)={0x0, 0x2}) rmdir(&(0x7f00000000c0)='./bus/file0\x00') openat$vcs(0xffffffffffffff9c, &(0x7f0000000a80)='/dev/vcs\x00', 0x400000, 0x0) setsockopt$kcm_KCM_RECV_DISABLE(0xffffffffffffffff, 0x119, 0x1, &(0x7f0000000ac0)=0x9, 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c42, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r3, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) 17:42:04 executing program 1: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41ba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xbc86}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) vmsplice(0xffffffffffffffff, 0x0, 0x0, 0x0) mount(0x0, 0x0, &(0x7f0000000080)='devpts\x00', 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0)='overlay\x00', 0x0, 0x0) socket$nl_generic(0x10, 0x3, 0x10) sendmsg$BATADV_CMD_GET_NEIGHBORS(0xffffffffffffffff, &(0x7f0000001200)={&(0x7f0000000300)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f00000011c0)={0x0}, 0x1, 0x0, 0x0, 0x22008010}, 0x0) r0 = open(&(0x7f0000000180)='./bus\x00', 0x151042, 0x0) r1 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000880)='/proc/sys/net/ipv4/vs/conntrack\x00', 0x2, 0x0) getsockopt$inet_sctp_SCTP_GET_PEER_ADDRS(r1, 0x84, 0x6c, &(0x7f00000008c0)={0x0, 0x97, "f8a335bae6dd0982c4c8455b3c2d82ad6e30dc61be1e9b43df6f34509fe090655f3d3839ae2dbe21b52b3ca60ddaa16dad487c3abf4a645a8b8d0130648973bc5a5503e03f5b035910e17d0c9934b451ee51d4ed8d653594f244ce2a8d88741936349b03f7525b492a71af08a745d1bd3a82fde1872fab4a4af1cf5f49fb26d38bbc9934aa22f1760c39eed79ceb2d957bd6d9a94a0aa5"}, &(0x7f0000000980)=0x9f) r2 = syz_genetlink_get_family_id$devlink(&(0x7f0000000040)='devlink\x00') sendmsg$DEVLINK_CMD_TRAP_GROUP_SET(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="b0000000", @ANYRES16=r2, @ANYBLOB="000426bd7000fddbdf2542000000080001007063690011000200303030303a30303a31302e30000000000d0087006c325f64726f7073000000000500830001000000080001007063690011000200303030303a30303a31302e30000000000d0087006c325f64726f70730000000005008300010000000800010070636900ff000200303030303a30303a31302e30000000000d0087006c325f64726f7073000000000500830000000000"], 0xb0}, 0x1, 0x0, 0x0, 0x810}, 0x10) r3 = openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/sysvipc/sem\x00', 0x0, 0x0) socket$l2tp(0x2, 0x2, 0x73) sendfile(r0, r3, 0x0, 0xbd) [ 412.076574] ntfs: (device loop0): parse_options(): Unrecognized mount option ÓI]j½_oE. [ 412.110050] ntfs: (device loop0): parse_options(): Unrecognized mount option ¤*÷˜ðENä·°! £¼‘LZ¬Ã˜!Z›Û`¯HêVžÁü. 17:42:05 executing program 3: r0 = socket$inet6(0xa, 0x401000000001, 0x0) close(r0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r0, r1, 0x0, 0x8000fffffffa) fcntl$dupfd(r1, 0x0, r0) r2 = creat(&(0x7f0000000080)='./bus\x00', 0x0) ftruncate(r2, 0x208200) r3 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r3, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) bind$vsock_dgram(r3, &(0x7f00000000c0)={0x28, 0x0, 0x2710}, 0x10) r4 = socket$inet6(0xa, 0x401000000001, 0x0) close(r4) openat$ipvs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/sys/net/ipv4/vs/expire_nodest_conn\x00', 0x2, 0x0) socket$inet6(0xa, 0x401000000001, 0x0) write$UHID_CREATE(0xffffffffffffffff, &(0x7f00000002c0)={0x0, {'syz1\x00', 'syz1\x00', 'syz1\x00', &(0x7f0000000440)=""/4096, 0x1000, 0x3e0, 0x403, 0x6, 0x2000002, 0xfe}}, 0x120) r5 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r4, r5, 0x0, 0x8000fffffffa) ioctl$SOUND_OLD_MIXER_INFO(r5, 0x80304d65, &(0x7f0000000040)) getitimer(0x1, &(0x7f0000000000)) syz_usbip_server_init(0x4) 17:42:05 executing program 0: ioctl$ifreq_SIOCGIFINDEX_batadv_hard(0xffffffffffffffff, 0x8933, &(0x7f0000000140)={'batadv_slave_0\x00'}) r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TCSETXW(r0, 0x5427, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, 0x0) r2 = openat$null(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/null\x00', 0x111000, 0x0) ioctl$CHAR_RAW_GETSIZE64(r2, 0x80081272, &(0x7f0000000100)) r3 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000000)='/dev/nvme-fabrics\x00', 0x2, 0x0) fcntl$dupfd(r1, 0x0, r3) r4 = creat(&(0x7f0000000080)='./bus\x00', 0x0) syz_mount_image$cramfs(&(0x7f0000000180)='cramfs\x00', &(0x7f00000001c0)='./bus\x00', 0x7fffffff, 0x4, &(0x7f0000000400)=[{&(0x7f0000000200)="aea9", 0x2, 0xce3}, {&(0x7f0000000240)="3156a3cc74f88cfa1d00080552ea53a50bac282b69d2ddfcf8314edbc3e6e55e00d908aa9390cadf5e19c5ae682b198467176042335f4a61584dc3b0a570dc02aef58c54a696b300c740e095788bace6e6514f2b6d4c9e953be816faeb50394f74cde5657830c50d3356d528a785cf49ecddac61c80f33cf4b807e98e72f1e02924842046fe04d023fc7064930d0673954b806da3a4dbef26f4f573c6e36bf25c7ac2f906cce99f70edd628a43e3b26d10adf345ccfc08d812e1e2b41f6ae5769e6268c0bb00", 0xc6, 0x2}, {&(0x7f0000000340)="af5a2a352eeea172ae6f277367df9f765b4a0f0446", 0x15, 0xe3}, {&(0x7f0000000380)="2882f7d79a270ae774583b9d93fe926868db01f9046cd5cd0f99493566a478515b72b93ccf84d22bcbf00ff4c1510723735e73e82f555dcf45a9081e4d8552e476324beeb764c5c245e34931782c6be045644bc28ced7b5b1a433ae26698594c8dcab99441dfaddfc2e0219b5fd450acac7f5c83f3b17d", 0x77, 0x4800000}], 0x2, &(0x7f0000000480)={[{'batadv_slave_0\x00'}, {'-'}, {'batadv_slave_0\x00'}, {'batadv_slave_0\x00'}, {'^}(}..'}, {}], [{@obj_type={'obj_type', 0x3d, 'batadv_slave_0\x00'}}]}) r5 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r5, 0x8933, 0x0) ftruncate(r5, 0x7ff) ioctl$EVIOCGMTSLOTS(r4, 0x8040450a, &(0x7f0000000040)=""/34) 17:42:05 executing program 1: r0 = gettid() prctl$PR_SET_PTRACER(0x59616d61, r0) tgkill(r0, 0xffffffffffffffff, 0x20) r1 = syz_open_dev$binderN(&(0x7f0000000000)='/dev/binder#\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000001c0)={0x4c, 0x0, &(0x7f0000000140)=[@transaction_sg={0x40486311, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x1, 0x0, &(0x7f0000000540)='7'}) r2 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r3 = dup(r2) ioctl$NBD_SET_SIZE(r3, 0xab02, 0x491) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) r4 = bpf$MAP_CREATE(0x0, &(0x7f0000733000)={0x5, 0x5, 0x7, 0x9}, 0x2c) r5 = openat$incfs(r3, &(0x7f0000000000)='.pending_reads\x00', 0x402100, 0x0) ioctl$SOUND_PCM_READ_CHANNELS(r5, 0x80045006, &(0x7f0000000040)) r6 = bpf$MAP_CREATE(0x0, &(0x7f0000000100)={0xd, 0x23, 0x4, 0x1, 0x0, r4, 0x0, [], 0x0, 0xffffffffffffffff, 0x0, 0x100, 0x4}, 0x40) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r6, &(0x7f00000001c0), &(0x7f0000000080)}, 0x20) 17:42:05 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$inet_mtu(r0, 0x0, 0xa, &(0x7f0000000000)=0x5, 0x4) sendto$inet(r0, 0x0, 0x0, 0x804, &(0x7f00000000c0)={0x2, 0x4e24, @local}, 0x10) r1 = openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000040)='/dev/dlm-monitor\x00', 0x0, 0x0) write$FUSE_NOTIFY_INVAL_ENTRY(r1, &(0x7f0000000080)={0x22, 0x3, 0x0, {0x5, 0x1, 0x0, '\x7f'}}, 0x22) 17:42:05 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000280)={0xc, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0xfffffff9}, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) recvmmsg(r1, &(0x7f0000004c40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r3, 0x407, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYRES32=0x0, @ANYBLOB="bdf0783bc43b69d5032ef378e16e0cf151304a382f30c2ca83900da428feaa46fb47bc5eb95d6b16a8bb9aa8f7a10d38613c1fa7dc17a54147f21027c1c422555d8db85163dcc14eed2df45bc73ea882e251c79c5bc9141779ab8a3794af035e7d0faf18049364e949f18c70eb599a079deafac4aa38f633a8b000f6b97042a09bf479b9d34b1df98c36784643771446d86ee7ab29d806d7331457ea9337f2d05d74cc193c7ff11c5dcad869f8901386680faf10e12ecbbba3679fcfb3b894b2dab8c50e2c5a375f161d1461288652aaee7376e10b41dba19beb23ee5fbbcc0a5b9ca350344a234a609b46e8c3be8a1c4d32130eb7e5514a091e7dc98169db4cadedc08f3c43e6ae", @ANYRES32, @ANYBLOB="c3e305ece5faec15b9514523af6b35e639dc3eb194d4e9c2da57b18820651e2aa9fc0f1aa621acd00be2daf16abd9741caea1d2f2b00000000000000000002"], 0x44}}, 0x0) ioctl$F2FS_IOC_MOVE_RANGE(r1, 0xc020f509, &(0x7f0000000140)={r2, 0x0, 0x8, 0x100000001}) ioctl$TUNGETDEVNETNS(r4, 0x54e3, 0x0) write(r3, &(0x7f0000000340), 0x41395527) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) sched_setattr(0x0, &(0x7f00000001c0)={0x38, 0x2, 0x1, 0x0, 0x6, 0x0, 0x2}, 0x0) clone(0x20040103, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) prctl$PR_GET_TIMERSLACK(0x1e) r5 = socket$netlink(0x10, 0x3, 0x0) setsockopt$inet_dccp_int(r2, 0x21, 0xa, &(0x7f0000000100)=0x2, 0x4) writev(r5, &(0x7f0000000180)=[{&(0x7f0000000080)="390000001300034700bb65e1c3e4ffff01000000010000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) writev(r5, &(0x7f00000001c0)=[{&(0x7f00000000c0)="390000001300034700bb65e1c3e4ffff06000000010000004500000025000000190004000400ad000200000000000006040000000000000000", 0x39}], 0x1) fcntl$addseals(0xffffffffffffffff, 0x409, 0xa) 17:42:05 executing program 3: r0 = syz_mount_image$iso9660(&(0x7f0000000180)='iso9660\x00', &(0x7f0000000200)='./file0\x00', 0x0, 0x0, &(0x7f0000000900), 0x0, &(0x7f00000009c0)=ANY=[@ANYBLOB="636865636b3d72656c617865642c7362736563746f723d30c08153f5301830303030303030303030302c6e6f636f6d70726573732c666f776e653bed", @ANYRESDEC=0xee00, @ANYBLOB=',\x00']) fdatasync(r0) 17:42:05 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) clone(0x2000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f00000001c0)=ANY=[@ANYBLOB="34000000100001040000000000000000000000002f5ea83ad657f46ebfb2dc4a6bfee451d76fedcb75a59660eba1938d9782209c85865f846242ac37f326f6ea8dbb8aa5aa493007919f0eee6e7810aac9005b82a80557d66331d4ff9bd834afde88b21628a10b68d4e72d5d47498f0a95ab1e644b99b2446d1800fbb6deec138f97b60e6ee3345d3befd58dd1c316343e630acd408688bee15e5c020ba161539eee936097b700007d", @ANYRES32, @ANYBLOB="0000000000000000140012000c000100627269646765"], 0x34}}, 0x0) bpf$PROG_LOAD(0x5, 0x0, 0x0) r1 = gettid() tkill(r1, 0x33) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x800000000080002, 0x0) r4 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r4, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) sendmmsg$alg(r4, &(0x7f0000000680)=[{0x0, 0x0, &(0x7f0000000600)=[{&(0x7f0000000100)="500e97524567056e4905deb2fc4dfdafbe758ac7d842a8a3c25069ee59d3532a28ab317f9f1f507447d34ea0a4677862f0eb92ced0717bdf51d8e4aa87a91c6116089d168e7d49ccd8afa3c4651455a93a537156fae4be6d43dcf5699bfcfd5eec562c683cca92d5d76930f158de0b209ad912ad1d8f8033ec812bd6c6878d", 0x7f}, {&(0x7f00000002c0)="57960b41442eb4f30732ae43a2f783eea22c9ac33d3507a28237824ce34031c1a38440352501d94a5bfdb8a7f9a3caac733ef8a7eea67ffc793ee5dbbfeae5e620b71b79fa1520950c3f25aa2c77559ecb8caca42e0e3e009724a159832096c1a8db1fea4525e2fc99313cb9d29c64bdb8dad7f21f2e12519db0", 0x7a}, {&(0x7f0000000340)="5c4548fb4b8838bc7a0eb56db705bea9123440c12b776b69ea79f4c42d9abfe9192e0903e86495a26b4721fe1904da65ae3ea3e22f4c4c574034b41afa836ce34725a6aff3195e9de15035c44de465f668b0cbfb9bc5ec083948e5eb35b66d04b538ce84508de9559dd1c9ba1201a803e668e91452d700eaaacb3d53eff394cf5e9361d65933693d1dcb67e3ebfb8d44d0e806ab753887f2d6f2dbee57d4c2187f5fa573ed687a85a06549770cce73e25aa761f0e9daff7a5656", 0x27}, {&(0x7f0000000400)="6e715817d1a11e038c335654fcdf3979689a8b6469ddad0dc140bc13b05a4111d3b7a4c463e4131f1bafe2e5176392391fedb48c5ad31a29f6accfc68cf8fafc64bb4d95bb02c7ed00731893023e4f5130512ffaa1c38a1fc3e4aa9e202c301c1d67aeeab65fa25c02a0e5020cbbfdf702ddf5c5a0474eac7414f2d9", 0x7c}, {&(0x7f0000000480)="7050b2f7db796698370483198134b6d8b836603b630d57a22c9892abbef691295c6c8ce44676471e4002ca5b523e2798e882b41dc32bc3955c93368d17ed3ab714e655d32b919968b3712774317e1adef7576bf7bf49252fa6caaf498ff5b0126a9517ee5bd9851d39f38254cb8595a0536c2a6b52d2d0fb6ed227e8c87d5bb31309ccd1ceb1d4ca2db46dd552c08761f05a7992f2f1e44e3b920c6743d627b6ff01f55e5adfc074b94f066f7107b78cf05575ae28b30511ade259", 0xbb}, {&(0x7f0000000540)="999b1586022de64efe575a5e1caea810e8f5b3a35d5f18412e41bf95ef19978f7c7c342cf03b15e1c27ba699bdf9cb332d6b56c649de038881ec4e0130ae2402a4df9e5185fd8c8649226d96ba39d5d6dd9df729234f5c983140702924b12bd2d2677f3cf1bc81ab09a22a65540dba7364482e1a169e1986377395ac6cb5d446025432a76ccd4b", 0x87}], 0x6, 0x0, 0x0, 0x40000}], 0x1, 0x0) setsockopt$inet_tcp_TCP_ULP(r3, 0x6, 0x1f, &(0x7f0000000080)='tls\x00', 0x4) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r2, 0x8933, 0x0) fsetxattr$trusted_overlay_opaque(r2, &(0x7f0000000000)='trusted.overlay.opaque\x00', &(0x7f0000000040)='y\x00', 0x2, 0x2) 17:42:05 executing program 1: socket$inet(0x10, 0x0, 0x0) uselib(&(0x7f0000000100)='./file0\x00') sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)=ANY=[@ANYBLOB='$\x00\x00\x00,\x00\x00\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00\x00\x00'], 0x24}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@newlink={0x28, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x20004}, [@IFLA_GROUP={0x8}]}, 0x28}, 0x1, 0x0, 0x0, 0x20114}, 0x0) ioctl$sock_ipv6_tunnel_SIOCCHGPRL(0xffffffffffffffff, 0x89f7, &(0x7f0000000040)={'ip6gre0\x00', &(0x7f0000000280)={'syztnl2\x00', 0x0, 0x4, 0xc5, 0x2, 0x0, 0x57, @local, @empty, 0x7, 0x20, 0x1, 0x20}}) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, 0x0, 0x0, 0x2001001, 0x0) sendmsg$DEVLINK_CMD_RELOAD(0xffffffffffffffff, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000480)={0x0}}, 0x0) setsockopt$inet6_tcp_TCP_ULP(0xffffffffffffffff, 0x6, 0x1f, 0x0, 0x0) ioctl$RTC_AIE_ON(0xffffffffffffffff, 0x7001) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x8}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) sendmsg$IPCTNL_MSG_TIMEOUT_DELETE(0xffffffffffffffff, 0x0, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x2, &(0x7f0000000240)={&(0x7f0000000180)=@newlink={0x28, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x205}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) 17:42:05 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000002180)=ANY=[@ANYBLOB="800e000030003dfa0000000000000000000000006c0e0100680e01000a00010070656469740000003c0e028018000580800e068006000200000000000600010000000000200e0200000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040006000c00070000000000000000000c000800"/3712], 0xe80}}, 0x0) 17:42:05 executing program 3: perf_event_open(&(0x7f00000004c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 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, @perf_bp={0x0}, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0x9, 0xffffffffffffffff, 0x0) ioctl$SNAPSHOT_PREF_IMAGE_SIZE(0xffffffffffffffff, 0x3312, 0x9) arch_prctl$ARCH_SET_CPUID(0x1012, 0x1) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) setsockopt$CAIFSO_REQ_PARAM(0xffffffffffffffff, 0x116, 0x80, &(0x7f0000000100)="bacd769660b4d7b2d4345a90a15014a77395ed11e94deb06f0b0becf018428fca20b67b5245779a0e65968b5666b5556b6959a3b11928397085a014c45665b9c828b2ca5ccfdf693e482f38ed2a54d754f35a45d96300edbc0c41b2b54fdf15e945ecbbc", 0x64) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) r0 = creat(0x0, 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x0, &(0x7f0000000540)=ANY=[@ANYBLOB="6c6f7765726469723d2e2f6275732c776f726b6469723d2e2f66696c65312c75707065726469723d2e2f66696c65305385af424225bcd81e90d07cfc7142e9a92d3213c3f236fd3fc6234c77"]) ioctl$sock_inet_tcp_SIOCINQ(0xffffffffffffffff, 0x5411, 0x0) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000180)={'wlan0\x00'}) sendmmsg$alg(0xffffffffffffffff, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) bind$pptp(0xffffffffffffffff, &(0x7f0000000080)={0x18, 0x2, {0x3, @multicast2}}, 0x1e) sendmsg$NL80211_CMD_GET_MPP(0xffffffffffffffff, &(0x7f0000000600)={&(0x7f0000000040), 0xc, 0x0, 0x1, 0x0, 0x0, 0x4044050}, 0x80) rmdir(&(0x7f00000000c0)='./bus/file0\x00') syz_open_procfs(0x0, 0x0) setsockopt$inet_MCAST_LEAVE_GROUP(0xffffffffffffffff, 0x0, 0x2d, &(0x7f0000000300), 0x88) setxattr$system_posix_acl(0x0, &(0x7f0000000680)='system.posix_acl_default\x00', &(0x7f00000006c0)=ANY=[@ANYRES32=0x0, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB="08025c1c275b74553bc6fce6d28209eb707d677f0843bbf0bc5ede8be4dc546048bfb869d1a004a17d00f297ce8756fc27c38bc4bc0c8ca429276272b25561c4995daaa9373a29f7994668f596cb00220063affc7e9d56d233448732b3ae148d818250b75438a94a86a21eb3b8aa41170fa0b1b416be32fde6b66e", @ANYRES32=0x0], 0x3c, 0x0) mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x0) 17:42:05 executing program 1: sched_setaffinity(0xffffffffffffffff, 0x8, &(0x7f0000000140)=0xfffffffffffffffe) r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/ptmx\x00', 0x0, 0x0) read(r0, &(0x7f0000000200)=""/231, 0x1000006ce) r1 = accept4(0xffffffffffffffff, &(0x7f0000000040)=@caif=@dgm, &(0x7f00000000c0)=0x80, 0x80800) r2 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000300)='IPVS\x00') sendmsg$IPVS_CMD_GET_DEST(r1, &(0x7f0000000440)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000400)={&(0x7f0000000340)=ANY=[@ANYBLOB="29940811", @ANYRES16=r2, @ANYBLOB="f9092abd7000fddbdf25080000000800060007000000540001800c00070000000000060000000800080000000001060001000200000008000b00736970000800050002000000070006006e7100000700060072720000140003006401010100000000000000000000000008000500008000000800050003000000080006008d000000"], 0x88}}, 0x20040040) getpeername$inet(r1, &(0x7f0000000100), &(0x7f0000000180)=0x10) syz_open_pts(r0, 0x7002) pipe(&(0x7f00000004c0)={0xffffffffffffffff}) write$RDMA_USER_CM_CMD_REJECT(r3, &(0x7f0000000500)={0x9, 0x108, 0xfa00, {0xffffffffffffffff, 0x5, "104d84", "1a65376fa69fa293cc870075cff315f24a4f563f9dd8c6e07f5d27fb522504c1b1c0ba21a6b096cd7cbe92ae180792007344917af8196a71f3bfc6a7c38153d1f6f4c595a616225f34cbdbf361b543f3bb5cf7a3191b2b89d2b04b3b4845a4ec60e6726e6fb236a48cb342de98d04ab7b1a501d5bc34e161d51d891bd0948d90411cff206e92d83e4b2b12a2cdca1b10c07b25eadd3b368f6e9a791077995176c7191bae098ddd12867ba3a32e97c3d9d0e019633f0302edcee802f93f85fa99f7da1c44290aefa1184f6f9c7f4e148680eb14cc20cfd8e41f2dc1b9e5443ef35349b6538b05ad9f322800602542a463e7164daa816e55a39ff8403ddf57fcc1"}}, 0x110) syz_open_dev$vim2m(&(0x7f0000000480)='/dev/video#\x00', 0x4, 0x2) 17:42:05 executing program 5: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000100)='/dev/full\x00', 0x800, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40042409, 0x0) syz_open_dev$vbi(&(0x7f00000001c0)='/dev/vbi#\x00', 0x1, 0x2) openat$sequencer(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) recvmmsg(0xffffffffffffffff, &(0x7f00000033c0)=[{{0x0, 0x0, &(0x7f0000000140)=[{0x0}], 0x1, 0x0, 0x0, 0x2000}}], 0x1, 0x0, 0x0) perf_event_open(&(0x7f0000000200)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000040)='cpuset\x00', 0x0, 0x0) r1 = open(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) r2 = creat(&(0x7f0000000080)='./bus\x00', 0x0) ftruncate(r2, 0x208200) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(0xffffffffffffffff, 0xc01064bd, &(0x7f00000002c0)={&(0x7f0000000280)="2d399a41c3b9dccb5daa3e91ee8f30a1e877628bc1100223a4a99e84bfb8fe1128eb173795626f0d31ffd2db92e814184b2c", 0x32, 0x0}) ioctl$DRM_IOCTL_MODE_DESTROYPROPBLOB(0xffffffffffffffff, 0xc00464be, &(0x7f0000000300)={r3}) ioctl$DRM_IOCTL_MODE_DESTROYPROPBLOB(r2, 0xc00464be, &(0x7f0000000280)={r3}) r4 = openat$cgroup_procs(r1, &(0x7f00000000c0)='cgroup.procs\x00', 0x2, 0x0) preadv(r4, &(0x7f00000009c0)=[{&(0x7f0000000500)=""/154}, {&(0x7f00000003c0)=""/68}, {&(0x7f00000005c0)=""/214}, {&(0x7f00000006c0)=""/194}, {&(0x7f00000007c0)=""/146}, {&(0x7f0000000880)=""/144}, {&(0x7f0000000480)=""/13}, {&(0x7f0000000940)=""/71}], 0x2a9, 0x0, 0x0) 17:42:05 executing program 0: syz_mount_image$vfat(&(0x7f00000002c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="601c6d6b646f736617e43c00088020000200000004f8000020004000000000000000000001", 0x25}, {0x0, 0x0, 0x200000000011000}], 0x0, &(0x7f0000000240)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') fcntl$setstatus(0xffffffffffffffff, 0x4, 0x6900) ftruncate(0xffffffffffffffff, 0x800) ioctl$TIOCL_SETVESABLANK(0xffffffffffffffff, 0x541c, &(0x7f0000000080)) lseek(0xffffffffffffffff, 0x1200, 0x0) lsetxattr$trusted_overlay_redirect(&(0x7f00000000c0)='./file0\x00', &(0x7f0000000180)='trusted.overlay.redirect\x00', &(0x7f00000001c0)='./file0\x00', 0x8, 0x3) r0 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_open_dev$audion(&(0x7f0000000300)='/dev/audio#\x00', 0x101, 0x8200) ioctl$DRM_IOCTL_GET_CAP(r1, 0xc010640c, &(0x7f0000000340)={0x4}) r2 = syz_open_dev$vivid(&(0x7f0000000240)='/dev/video#\x00', 0x2, 0x2) fsetxattr$trusted_overlay_upper(r2, &(0x7f0000000280)='trusted.overlay.upper\x00', &(0x7f0000000480)=ANY=[@ANYBLOB="00fbf30201ff0198d16cb9c53e653724f68a6a70de754a6389c591a55cf7ab58e31f182e5668a096edd5afb053462a2b301ea39f34bb9b72ab79c699f8b01e8e09e0b5433684c35ebbea0617d6e3ba403e50d67229db84baf4f55050fa3228b2775557dbf9ab1f270142a292a2b53cd2c65e723d928d40294dece2f33d0690906b2f0f2ccdf17d1e4165ba3e895be77423645ced05945e7945fdbd32e5152c4a0533cea97231ca495b6a70ef09cff4c9a60bc1b818a88e7be681c36def31d9ece6fa8cc398f51dcedd5c4b4d6a580d3f71938a0d5f4b785f76a95d7c0b682db482ba16a1700f60b009d9fff0a24e0946c1233b927ba7f119c0aeeed0ddf203388ee4568588a29f3ed160104dcc1124f473f627f0cfce4a3f83750f011f1af799704a6c78e7f9a037d2ce32d94cb568b9d469d1cb70bec6cdc613be587e2b167a91f3678ee6d6194848ac8117e041c7690e06f58bc01896"], 0xf3, 0x3) bind$inet(0xffffffffffffffff, 0x0, 0x0) sendfile(0xffffffffffffffff, r0, 0x0, 0x8400fffffffa) 17:42:05 executing program 1: r0 = socket$inet6_udp(0xa, 0x2, 0x0) r1 = fcntl$dupfd(0xffffffffffffffff, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_open_dev$tty1(0xc, 0x4, 0x4) r2 = socket$inet6(0xa, 0x401000000001, 0x0) close(r2) r3 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r2, r3, 0x0, 0x8000fffffffa) write$P9_RATTACH(r3, &(0x7f0000000000)={0x14, 0x69, 0x1, {0x1, 0x1}}, 0x14) sendmmsg$inet6(r0, &(0x7f0000005540)=[{{&(0x7f0000002540)={0xa, 0x4e21, 0x0, @dev}, 0x1c, 0x0, 0x0, &(0x7f0000003900)=ANY=[@ANYBLOB="1816f03e0ba312006bb900"/24], 0x18}}], 0x1, 0x0) 17:42:05 executing program 3: r0 = socket$inet6(0xa, 0x2, 0x0) ioctl$SNDRV_SEQ_IOCTL_GET_CLIENT_POOL(0xffffffffffffffff, 0xc058534b, &(0x7f0000000240)={0x800, 0x9, 0xc6d0, 0x4, 0x89, 0x51}) sendto$inet6(r0, 0x0, 0x0, 0xfffffefffffffffe, &(0x7f0000000040)={0xa, 0x0, 0x0, @loopback}, 0x1c) r1 = socket$l2tp6(0xa, 0x2, 0x73) shutdown(r1, 0x1) r2 = creat(&(0x7f0000000300)='./bus\x00', 0x0) ftruncate(r2, 0x208200) ioctl$SNAPSHOT_CREATE_IMAGE(r2, 0x40043311, &(0x7f00000002c0)) r3 = openat$cachefiles(0xffffffffffffff9c, &(0x7f0000000000)='/dev/cachefiles\x00', 0x200, 0x0) sendmsg$NL80211_CMD_CONTROL_PORT_FRAME(r3, &(0x7f00000001c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000180)={&(0x7f00000000c0)={0xac, 0x0, 0x100, 0x70bd2b, 0x25dfdbfb, {{}, {@void, @val={0xc, 0x99, {0x0, 0x46}}}}, [@NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT={0x4}, @NL80211_ATTR_FRAME={0x14, 0x33, @ctrl_frame=@cf_end_cf_ack={{}, {0xa03}, @device_a, @broadcast}}, @NL80211_ATTR_FRAME={0x64, 0x33, @mgmt_frame=@probe_response={@with_ht={{{0x0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1}, {0x1f}, @device_b, @broadcast, @initial, {0x0, 0x7f}}, @ver_80211n={0x0, 0xa9, 0x2, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1}}, 0x9, @default, 0x8280, @val={0x0, 0x6, @default_ibss_ssid}, @void, @val={0x3, 0x1, 0x6}, @val={0x4, 0x6, {0x0, 0xec, 0x8, 0x6842}}, @void, @val={0x2d, 0x1a, {0x10, 0x1, 0x3, 0x0, {0x1, 0x40, 0x0, 0x3, 0x0, 0x0, 0x1, 0x2}, 0x800, 0x81, 0xa}}, @void, @val={0x71, 0x7, {0x1, 0x0, 0x0, 0x0, 0x1, 0x12, 0x29}}}}, @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT={0x4}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}]}, 0xac}, 0x1, 0x0, 0x0, 0x10000081}, 0x20040080) ioctl$KVM_REGISTER_COALESCED_MMIO(r2, 0x4010ae67, &(0x7f0000000340)={0x5001, 0x100000}) ioctl$RTC_ALM_READ(r3, 0x80247008, &(0x7f0000000200)) [ 412.687068] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 17:42:05 executing program 5: perf_event_open(&(0x7f000001d000)={0x2, 0x70, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x44002, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x1, 0xffffffffffffffff, 0x0) r0 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000080)='./bus\x00', 0x0, &(0x7f0000000100)={'L-', 0x80000000}, 0x16, 0x0) accept4$packet(0xffffffffffffffff, 0x0, &(0x7f0000000000), 0x80800) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x10049, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0xb20e, 0x7}, 0x2, 0x0, 0x7, 0x0, 0x40}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) tkill(0x0, 0x22) r1 = creat(&(0x7f0000000040)='./bus\x00', 0x0) semctl$GETVAL(0x0, 0x4, 0xc, &(0x7f0000000340)=""/181) sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x10001ff) setsockopt$inet_tcp_TCP_FASTOPEN_KEY(0xffffffffffffffff, 0x6, 0x21, &(0x7f0000000180)="a9e37fdc49e86c7f01310aa795a3f23d", 0x10) fallocate(r1, 0x10, 0x8003, 0x8020001) kexec_load(0xf5, 0x1, &(0x7f0000000240)=[{&(0x7f00000000c0)="3d6d46f7862c65133251fbba", 0xc, 0x2}], 0x150000) r2 = creat(&(0x7f00000002c0)='./file0\x00', 0x150) write$P9_RREMOVE(r2, &(0x7f0000000280), 0x1033b) fdatasync(r2) ioctl$EXT4_IOC_MOVE_EXT(0xffffffffffffffff, 0xc028660f, &(0x7f0000000200)={0x0, r2, 0x8028}) creat(&(0x7f0000000040)='./bus\x00', 0x0) getsockopt$inet6_buf(r0, 0x29, 0xcd, &(0x7f00000001c0)=""/44, &(0x7f0000000400)=0x2c) creat(&(0x7f0000000300)='./file0\x00', 0x0) socket$inet_tcp(0x2, 0x1, 0x0) 17:42:05 executing program 1: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$TCSETSF2(0xffffffffffffffff, 0x402c542d, 0x0) msgget(0x1, 0x2) exit_group(0x0) bind$inet(0xffffffffffffffff, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 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, @perf_config_ext={0x200000000000}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) unshare(0x2a000400) mkdir(&(0x7f0000000380)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000040)='cgroup2\x00', 0x0, 0x0) sendmsg$NL80211_CMD_DEL_PMK(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x10}, 0xc, 0x0}, 0x8024) ioctl$KDFONTOP_COPY(0xffffffffffffffff, 0x4b72, &(0x7f00000000c0)={0x3, 0x1, 0x14, 0x1b, 0x0, 0x0}) r0 = open(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) r1 = openat$cgroup_procs(r0, &(0x7f0000000180)='cgroup.threads\x00', 0x2, 0x0) writev(r1, &(0x7f00000006c0)=[{&(0x7f0000000000)='0', 0x1}], 0x1) 17:42:05 executing program 0: r0 = socket$l2tp6(0xa, 0x2, 0x73) getpeername$inet(0xffffffffffffffff, &(0x7f0000000000)={0x2, 0x0, @dev}, &(0x7f0000000040)=0x10) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r0, 0xc00c642e, 0x0) r1 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r1, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) getsockopt$IPT_SO_GET_REVISION_TARGET(r1, 0x0, 0x43, &(0x7f0000000080)={'IDLETIMER\x00'}, &(0x7f00000000c0)=0x1e) 17:42:05 executing program 0: r0 = accept4$packet(0xffffffffffffffff, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000040)=0x14, 0x100000) fcntl$addseals(r0, 0x409, 0xe) r1 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000080)='/dev/autofs\x00', 0xa0200, 0x0) sched_setscheduler(0x0, 0x5, &(0x7f0000000180)) socketpair$nbd(0x1, 0x1, 0x0, 0x0) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, 0x0, 0x0) 17:42:05 executing program 3: sched_setscheduler(0x0, 0x5, &(0x7f0000000000)) sync() r0 = socket(0x10, 0x800000000080002, 0x0) ioctl$VIDIOC_SUBDEV_S_DV_TIMINGS(0xffffffffffffffff, 0xc0845657, &(0x7f0000000180)={0x0, @reserved}) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) prctl$PR_GET_FP_MODE(0x2e) getsockopt$inet_sctp6_SCTP_ASSOCINFO(0xffffffffffffffff, 0x84, 0x1, &(0x7f0000000040)={0x0, 0x6, 0x5, 0xffffffff, 0x3ff, 0x200}, &(0x7f0000000080)=0x14) getsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(r0, 0x84, 0x7b, &(0x7f00000000c0)={r1, 0x4}, &(0x7f0000000100)=0x8) r2 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000240)='/dev/nvram\x00', 0x2000, 0x0) getsockopt$inet6_tcp_int(r2, 0x6, 0x27, &(0x7f0000000280), &(0x7f00000002c0)=0x4) 17:42:05 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$netlink(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000004e00)=[{&(0x7f0000000100)=ANY=[@ANYBLOB="140000001c00018020ddf64c5c04aa0004000080"], 0x14}], 0x1}, 0x20008090) 17:42:05 executing program 5: perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$netlink(0x10, 0x3, 0x9) sendmsg$IPVS_CMD_NEW_DAEMON(r0, &(0x7f0000000240)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x20000000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x28, 0x0, 0x1, 0x70bd25, 0x25dfdbfd, {}, [@IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0xcae7}, @IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_TYPE={0x5, 0xd, 0xccea873f3b18b707}]}]}, 0x28}}, 0x0) recvmsg(0xffffffffffffffff, &(0x7f0000024f80)={&(0x7f0000024d40)=@can={0x1d, 0x0}, 0x80, 0x0}, 0x12002) bpf$MAP_CREATE(0x0, &(0x7f0000024fc0)={0x1, 0x8001, 0x0, 0x0, 0x0, 0x1, 0x0, [], r1, 0xffffffffffffffff, 0x0, 0x4}, 0x40) r2 = socket$kcm(0xa, 0x5, 0x0) ioctl$SNAPSHOT_CREATE_IMAGE(0xffffffffffffffff, 0x40043311, &(0x7f0000000040)) sendmsg(r2, &(0x7f00000001c0)={&(0x7f0000000140)=@l2tp6={0xa, 0x0, 0x0, @dev={0xfe, 0x80, [0x0, 0x10]}, 0x1}, 0x80, &(0x7f0000000000)=[{&(0x7f0000000200)="82", 0x1}], 0x1}, 0x4000040) 17:42:05 executing program 0: clock_nanosleep(0x0, 0x1, &(0x7f0000000080), &(0x7f0000000000)) r0 = socket$inet6_dccp(0xa, 0x6, 0x0) setsockopt$inet6_group_source_req(r0, 0x29, 0x2b, &(0x7f00000000c0)={0x1, {{0xa, 0x4e21, 0xffffffe5, @remote, 0x4}}, {{0xa, 0x4e24, 0x1800000, @loopback, 0x101}}}, 0x108) setsockopt$inet_sctp6_SCTP_AUTH_DEACTIVATE_KEY(0xffffffffffffffff, 0x84, 0x23, &(0x7f0000000040)={0x0, 0x3}, 0x8) 17:42:05 executing program 1: r0 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ttyS3\x00', 0x0, 0x0) ioctl$TCSETAW(r0, 0x5423, &(0x7f0000000040)={0x6, 0x0, 0x0, 0x0, 0x0, "cc83d3dfca4e85ef"}) ioctl$TCSBRKP(r0, 0x5425, 0x20) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, 0x0) setsockopt$SO_BINDTODEVICE_wg(r1, 0x1, 0x19, &(0x7f0000000080)='wg2\x00', 0x4) 17:42:05 executing program 0: r0 = socket$inet_udp(0x2, 0x2, 0x0) writev(0xffffffffffffffff, &(0x7f0000000280)=[{&(0x7f0000000000)="2900000020f0190f05003fffffffda0602000009de", 0x15}], 0x1) ioctl$sock_inet_SIOCGIFDSTADDR(r0, 0x8916, &(0x7f0000000000)={'erspan0\x00', {0x2, 0x0, @private}}) r1 = openat$mice(0xffffffffffffff9c, &(0x7f0000000040)='/dev/input/mice\x00', 0x4b8400) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f00000000c0)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000100)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_DEL_INTERFACE(r1, &(0x7f00000001c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x1c, r2, 0x200, 0x70bd29, 0x25dfdbff, {{}, {@val={0x8, 0x3, r3}, @void}}, ["", "", "", "", ""]}, 0x1c}, 0x1, 0x0, 0x0, 0x10}, 0x8080) 17:42:05 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000d80)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @bridge={{0xb, 0x1, 'bridge\x00'}, {0x10, 0x2, 0x0, 0x1, [@IFLA_BR_MCAST_LAST_MEMBER_INTVL={0xc}]}}}]}, 0x40}}, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(0xffffffffffffffff, 0xc02064b2, &(0x7f0000000100)={0x1, 0x6, 0x1ff}) r1 = syz_open_dev$mouse(&(0x7f0000000040)='/dev/input/mouse#\x00', 0x100, 0x8000) symlinkat(&(0x7f0000000000)='./file0\x00', r1, &(0x7f00000000c0)='./file0\x00') r2 = openat$zero(0xffffffffffffff9c, &(0x7f0000000180)='/dev/zero\x00', 0xc53d413cb673541d, 0x0) r3 = syz_genetlink_get_family_id$devlink(&(0x7f0000000200)='devlink\x00') sendmsg$DEVLINK_CMD_TRAP_POLICER_SET(r2, &(0x7f0000000500)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f00000004c0)={&(0x7f0000000240)={0x248, r3, 0x8, 0x70bd2a, 0x25dfdbfb, {}, [{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}, {0xc, 0x8f, 0x9}, {0xc, 0x90, 0xbc1b}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x8e, 0x2}, {0xc, 0x8f, 0x2}, {0xc, 0x90, 0x6}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x8e, 0x1}, {0xc, 0x8f, 0xfff}, {0xc, 0x90, 0x4}}, {@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x8e, 0x3}, {0xc, 0x8f, 0x8}, {0xc, 0x90, 0x10000}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}, {0xc, 0x8f, 0xadf}, {0xc, 0x90, 0x3}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x8e, 0x2}, {0xc, 0x8f, 0xffffffffdd4692ef}, {0xc, 0x90, 0x1}}, {@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x8e, 0x1}, {0xc, 0x8f, 0xfff}, {0xc, 0x90, 0xfffffffffffffbff}}, {@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x8e, 0x1}, {0xc, 0x8f, 0x6600000000000000}, {0xc, 0x90, 0x3}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x8e, 0x1}, {0xc, 0x8f, 0x3}, {0xc, 0x90, 0x1}}]}, 0x248}, 0x1, 0x0, 0x0, 0x20000054}, 0x4000000) 17:42:05 executing program 0: r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) fcntl$setstatus(r0, 0x4, 0x4002) io_setup(0x400b, &(0x7f0000000040)=0x0) r2 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) mmap(&(0x7f0000002000/0x4000)=nil, 0x4000, 0x0, 0x2812, r2, 0x0) r3 = creat(&(0x7f0000000100)='./bus\x00', 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0xffffffffffffffdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xffff}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$PPPIOCSPASS(r2, 0x40107447, &(0x7f00000001c0)={0x6, &(0x7f0000000180)=[{0x7, 0xab, 0x81}, {0x9, 0x4, 0xee}, {0x1ff, 0x7, 0x0, 0x2}, {0x101, 0x1, 0x1, 0x4}, {0x3, 0x6, 0x1, 0x9}, {0x1ff, 0xe7}]}) ftruncate(r3, 0x2008001) mmap$perf(&(0x7f0000004000/0x3000)=nil, 0x3000, 0x0, 0x10, 0xffffffffffffffff, 0x0) io_submit(r1, 0xd78, &(0x7f0000000540)=[&(0x7f00000000c0)={0x1800002, 0x4, 0x9, 0x1, 0x0, r0, &(0x7f0000000000), 0x201400, 0xc00}]) 17:42:05 executing program 1: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = open(&(0x7f0000000180)='./bus\x00', 0x151042, 0x0) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000340)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x4000000000010046) ioctl$KDSKBLED(0xffffffffffffffff, 0x80047213, 0x0) ioctl$TIOCPKT(0xffffffffffffffff, 0x5420, 0x0) getsockname$packet(r0, 0x0, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(0xffffffffffffffff, 0x8933, 0x0) sendmsg(0xffffffffffffffff, 0x0, 0x0) eventfd(0x0) r2 = socket$netlink(0x10, 0x3, 0x15) connect$netlink(r2, &(0x7f0000000000)=@kern={0x10, 0x0, 0x0, 0x10000000}, 0xc) 17:42:05 executing program 0: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 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$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r1, &(0x7f00000001c0)={0x0, 0x6558, &(0x7f0000000140)=[{&(0x7f00000000c0)="2e00000010008188040f80ecdb4cb9cca7480ef42e000000e3bd6efb440009000e000a000d000000008000001201", 0x2e}], 0x1}, 0x0) recvmsg(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, 0x0}, 0x0) socket$kcm(0x11, 0x200000000000002, 0x300) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, 0x0, 0x0) bpf$PROG_LOAD(0x5, 0x0, 0x0) socket$kcm(0x2, 0x200000000000001, 0x0) r2 = socket$inet6(0xa, 0x400000000001, 0x0) close(r2) r3 = open(&(0x7f0000002000)='./bus\x00', 0xc4042, 0x0) sendfile(r2, r3, 0x0, 0x200fc0) ioctl$PERF_EVENT_IOC_SET_BPF(r0, 0x40042408, r3) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000fc0)={&(0x7f0000000000)={0x2, 0x0, @remote}, 0x10, 0x0}, 0x0) 17:42:05 executing program 1: perf_event_open(&(0x7f0000000400)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = getpid() sched_setscheduler(r0, 0x5, &(0x7f00000001c0)) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f00000000c0)=[@textreal={0x8, &(0x7f0000000080)="baa10000eef36cba2100ec66b9800000c00f326635001000000f30bad104ecc80080d267d9f8f30f1bb429000f20c06635200000000f22c067f3af", 0x3b}], 0x1, 0x0, 0x0, 0x0) bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000140)={&(0x7f00000002c0)=ANY=[@ANYBLOB="2103000000010000"], 0x0, 0x1b}, 0x20) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) perf_event_open(&(0x7f0000000040)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x2}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r2, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x1000, &(0x7f0000000000/0x1000)=nil}) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f0000000200)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff], 0x1f000}) ioctl$KVM_RUN(r3, 0xae80, 0x0) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) 17:42:05 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = socket$inet(0x2, 0x4000000000000001, 0x0) r1 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000080)='/dev/nvram\x00', 0x0, 0x0) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x8074, 0x4) bind$inet(r0, &(0x7f0000000440)={0x2, 0x4e23, @broadcast}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000040)='dctcp\x00', 0x6) ioctl$VHOST_SET_VRING_BASE(0xffffffffffffffff, 0x4008af12, &(0x7f0000000000)={0x3, 0x10000}) ioctl$KVM_DEASSIGN_DEV_IRQ(r1, 0x4040ae75, &(0x7f0000000100)={0x8001, 0x0, 0x4}) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e21, @rand_addr=0x64010100}, 0x10) sendto$inet(r0, &(0x7f00000012c0)="0c268a927f1f6588b967481241ba78600f5cf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x27) r2 = signalfd4(r0, &(0x7f0000000140)={[0x6]}, 0x8, 0x800) r3 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r3, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) ioctl$IOCTL_VMCI_CTX_REMOVE_NOTIFICATION(r2, 0x7b0, &(0x7f0000000200)={@host, 0x1ff}) connect$can_bcm(r3, &(0x7f00000001c0), 0x10) ioctl$KVM_GET_ONE_REG(r2, 0x4010aeab, &(0x7f0000000180)={0x9, 0x3f}) 17:42:06 executing program 3: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r2, 0x8933, 0x0) socket$tipc(0x1e, 0x5, 0x0) r3 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r3, 0x8933, 0x0) r4 = syz_init_net_socket$x25(0x9, 0x5, 0x0) fstat(r1, &(0x7f0000000340)={0x0, 0x0, 0x0, 0x0, 0x0}) r6 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r6, 0x8933, 0x0) syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) ioctl$VIDIOC_QUERYBUF(0xffffffffffffffff, 0xc0585609, &(0x7f00000003c0)={0x6, 0xc, 0x4, 0x0, 0xabe6, {0x77359400}, {0x5, 0x1, 0x6a, 0x3, 0x81, 0x6, "16910884"}, 0xb17, 0x3, @userptr=0x82, 0x8}) r7 = gettid() ptrace$setopts(0x4206, r7, 0x0, 0x0) tkill(r7, 0x33) ptrace$setregs(0xd, r7, 0x0, &(0x7f0000000080)) ptrace$cont(0x7, r7, 0x0, 0x0) sendmmsg$unix(r1, &(0x7f0000000940)=[{&(0x7f0000000080)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000000300)=[{&(0x7f0000000140)="bd2cb2a88ce36adbf246b6eea54b3d5488437a6d4d40ba046db97549b6ee590393ef7b5c27016776a23d4eab0ff7e2fc35644a4e465f2692d7275b56898e41028712bf79220687bdf60cd0f09b74df41b71ff330144ecef427aca7ea042bfcfd8404e3f3a21da173b02ef6aa9572135d7a62f0fdadcafcb9b324ff45e696bb32971c6301afc9ee7efa63f20707362f6bcefaccdb54cc966da38bac510dea7611d9ab7c7276accbd490c2bf770903c738942cc23d952992b9cb4a5fb6a035321b3ad4f697c0780aa77255b8", 0xcb}, {&(0x7f0000000240)="e8d15607e3fec562073d11de1957974f627eaba77637c413e5d8273f16a37ec2034a446f1f4ac088a01dcd00f2333b95bc1f6bddadc67133ae2a82a89c8d7b4dbbd68afa53d2aa871136fb952116c55a32827684f1eb03fc2825144c1eb07e7c8586f0a0094331ff093c86c77927fd001a81a32dd62e818e5a4b917563bca853ac2970bdd6a3d2ddbc38eae54520dddb697c7d46f24324d615eff40ef5fcbb33acd52debf3e5efac42ee210247613082436f11", 0xb3}], 0x2, &(0x7f0000000440)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES16=r0, @ANYBLOB="0000000034000000000000000100000001000000", @ANYRES16=r7, @ANYRES32=r1, @ANYRES32=r3, @ANYRES32=r0, @ANYRES32=r1, @ANYRES32=r1, @ANYRES32=r0, @ANYRES32=r0, @ANYRES32=r0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32=r4, @ANYRESOCT, @ANYRES32, @ANYRES32=r5, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=r7, @ANYRES32=r5, @ANYRES16, @ANYBLOB='\x00\x00\x00\x00'], 0xb0}, {&(0x7f0000000500)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f00000008c0)=[{&(0x7f00000009c0)="45498d7f91b8e0e77434e943f563de9ef5139d619ef6c0336c5e779573c1effd2cd0b24cb8ac3d4edd984196ebc2a034af67c9adb4fbf47dab17d43cb00e5cdcede6c0d327f0d418785415dd0eb23a8e07b2297ea1dcc6829d0db87a41cb74", 0x5f}, {&(0x7f00000005c0)="5867be64e0d90ac5aa4047b7459accf713869a5fb78eaffabd9c111b36aac8ccd7b23019047202aaa390c1030b4e63aaaa7ad03fd3ea402086498826b45d2fc56b684cba176468df686890e5ab2439c2e457800c0c987056fdc4c9eb01e9d23757aaac0deb66914a5ea933e26ea5ea106acca2edf65fc727", 0x78}, {&(0x7f0000000640)="c52858be3386ff22fbda47b382470766851a755e6e4752874596b26823dcec29d78c70400a5aa8836fc3c46409e31b9d3b9e20678232916a08226dc250fc6f85590d0ab3e6938499125b421c7654a4e0c29af1d9a21a7d6eb22c3dc8603b354c3cd83ea7447cf1cdd2dcf3bac2b74c3e7eff8aa1cc595e9d489518345ba9ba0e0280590f38fc4928beb943b1e1d85d318be558c8208d7f302fe7adef1b6c802970ffca7c", 0xa4}, {&(0x7f0000000700)="8f", 0x1}, {&(0x7f0000000740)="275eea89aad900093130ff1843660f89ca39", 0x12}, {&(0x7f0000000780)="de660f2c28b767241e5cb7d26d831e4b5225f1843594b1e0bc40b80ccd89d74856761fb408dd58e9c9bebcfbb3604a23c603af32a55418f7f4ac17b598793588615e96ce6dcb3aa1cc84c2deb4ea57634c595f31e42a61a371c3837b261ed7dad8ff5cf87b4fdc609e838b4be9ad78872956fef8bda4855b7c79306b71cfa6ea47afe95b98db65fabe808eb664d1f372ef9005c223dec7f0e92c2fdb5e", 0x9d}, {&(0x7f0000000840)="1fa01650172437df0d2747a794313235a5ddd8e690eee424cf1d1a05784d624b7e3ebc5005d8febdf507b8f373c804d0913dbd6f4e4f593a94ccdf44fae64019e13792a7b4aceef311142d61a3de1ff4465e378a846a88b5", 0x58}], 0x7, 0x0, 0xffffffffffffff31, 0x44000}], 0x2, 0x0) getsockopt$IP6T_SO_GET_ENTRIES(0xffffffffffffffff, 0x29, 0x41, &(0x7f0000000100)=ANY=[@ANYBLOB="73656375720274790000000000000000000000000000070000000000000088b109260023ce9c528b00"], 0x0) recvmmsg(r0, &(0x7f0000000000)=[{{0x0, 0x4, 0x0}}], 0x3df, 0x86, 0x0) 17:42:06 executing program 0: r0 = creat(&(0x7f00000000c0)='./bus\x00', 0x9) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf03d, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9}, 0x0, 0xffffffffffffffff, r0, 0xb) syz_mount_image$tmpfs(&(0x7f00000002c0)='tmpfs\x00', &(0x7f0000000100)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=ANY=[@ANYBLOB='huge=Elways']) chdir(&(0x7f0000000380)='./bus\x00') r1 = creat(&(0x7f0000000400)='./bus\x00', 0x0) ftruncate(r1, 0x208200) r2 = open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x0) open(&(0x7f0000000080)='./bus\x00', 0x8000, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x4002011, r2, 0x0) truncate(&(0x7f0000000040)='./bus\x00', 0x7fff) 17:42:06 executing program 5: r0 = openat$ttyprintk(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ttyprintk\x00', 0x101001, 0x0) ioctl$TCSETSF2(r0, 0x402c542d, &(0x7f0000000000)={0x0, 0x7, 0x0, 0x0, 0x0, "29639d2809d68ef88faa7366cde8e090a167cd"}) writev(r0, &(0x7f00000000c0)=[{&(0x7f0000000280)="91789251a23835772d0a0a", 0xb}], 0x1) sendmsg$IPSET_CMD_ADD(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f00000001c0)={&(0x7f0000000100)=ANY=[@ANYBLOB="a4000000090601080000000000000000070000090900020073797a3200000000100008800c00078008000a40000100000900020073797a3100000000680007800c001b40ffffffffffffffff0c001940000000000000000653e542503453623437829abc9e000000000000000000000105001500040000000a0011000180c200000e000013001a002f6465762f7474797072696e746b00000c00148008000140e0000001"], 0xa4}, 0x1, 0x0, 0x0, 0x10}, 0x4085) 17:42:06 executing program 1: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) syz_emit_ethernet(0x0, 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000000)="1f0000000104fffffd3b000007110600f30501000b00010002", 0x19) r4 = socket$inet_udp(0x2, 0x2, 0x0) close(r4) write(r1, &(0x7f0000000080)="1f0000000104ff00fd4354c007110000f305010008000100010423dcffdf00", 0x1f) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(0xffffffffffffffff, 0x89f3, 0x0) r5 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r5, 0x8933, 0x0) ioctl$BTRFS_IOC_SNAP_DESTROY(r5, 0x5000940f, &(0x7f00000000c0)={{r1}, "8969b62da0678647db4052de77653c604ef6b3ad66d004d170bebef41b71759784c17fa443a5ebf1692f230abc4fa8f8520bb935ca2b001286c42a2388c7474683947d79b9e1d1ef0a9d74acd9a42ac80b34171edc6cb169baa2d0afcee01df97a1fef76d5e47cddfb35b526c5573da2a2cedf3e933c7efb02d96a7192c181c97de65e2bf16bf8eb55165d6f5350c18a3e4968df536a4beeb8b4fa273ff8c9a3b861df138d63a67b9a8202bf6a07c2624bc18382b26f06a50bde19d35fd3578015818c287f102b9e77cc0b3188ea4f5ff194f81e7dc0d675358589e02acd4363cb60de6e1ba02b322670eddd8fbebe50b9e66587db997b04dc5c9ce3808014b0e687932372fd2f41d76c47230446c6d19548d01b747638a4772fa368182b3913aed53a7ca336a4501a946d9795598e8abb02b6165a2710b8f2142df4e0171c13147dcb2af25f1e3bc98d779a976630010800a70707bb3e7887a7d5151f5a466f301d5cf7016dba1881f662ff3d89a2ae97717b346bd8c3c43a8b4856f4c77301996e2cfde779584db8f8ba7d2260ab8af7a4462a12a0dd1b811c80b4d2360ae2b9dadb534329695b91a914b9f75a0227ceeddba30a21496f3dbc1390b276537bb6420462ea07e7ebcb529b3a34f44e42fe8db793523c1363c690e5831aefe5d66d02266047e3961a11aeed58841790f0c04093c68c139f74f76dfd5b4d4962f0fa8986b8a0c55f32ed3db33d649eff567194d2d2e93f7afe52845b47321aaa584205cc980b05c63a23bc7730c8590f41f1aa4c7ed5de85888c23903b6c104a1a6237246952d74adadd7f4ac701d92081a865f1e5f6ae73ce744e7f5cd17383b96abf2d486e8e0219b9d9854c7a5cbb9565e3cac2c7063f2ad740eb7d70b220276f1716bfd956ca2cf45e9604a59dc0c50c53a3f728e78cdf11e21b42446aa62f1e751e000ce490e7b9f6c85959fcfe1516d0f9b7bff49324fd6159e29a14537d46bd63b18886ff44a5f2e3d8e7ef19f64a9581989f6902eac535c42dfbb5bdcc285db8a9fe4b27687924ff38d3db7a241fd5e279cb92d14fce0cd52d514dba49519f54202a338f3af7f92d676210abaeb27d0b3928a76b6a1106111310bb1e14d8febc52e314ddf2cb5db6e331827a9cec3a244a58e27afcc0ad9da1fd0cbcdaa1d018681e0010abf9790020fa2b600301c7bf0003cedc26377a62cb47168906083b8863e226f04a3abc7183a3984419023adaa2bfa7327a495c429e78b36f696a9f5f6ef86c5659be44d880d7ff3cdc29252d70e6e90fbc412252761cc2b0d443d87d96564723556c887db2a9756baf2fc67c25bb4a5c178f8e0be8b4a06c2e3272c7fb257a0d151a6061966b3cc2ebefc2f1ce8a4b4b39d0ed49d8a05af1b36476936811f8b6bbe27fb3e78da73fb5716f87ca49dc66a985fad8d16eddbd33fffa2925a335ee62f8e3c6cc87547589362d435f4274a3ccf70a89dfdeb68c61f1b7e0f6400f9237bdad4045085ffd1da18f910f8ef777a482b0e0d0d31759e79e139b6b2deffc8caaad0521b98efd7d1b3596a57cbe750818f6d54e695d1c5a8d87805fc56201c964ebb7c769476dfb9bdb0e71a35d2442cf9503a49d4df0861eced3e6a886e15636c08d0bf787f56113b71e344d7df4e27d4f7f459021199f144e8f7f4830c4ec3c8ce954503c44583a34bd7444c91698a4ebe54e262d2ed66e5c0febb4be6416f115db85446f35d112fd358f0164a4e45606ddd1488c6331020581ca255478409867f1ef756120fe06086ebc509dd7c89dfdc2f85134d65e2b8f6f93afd9c4209f4d5332ce6df3d404f8b2e91a3659ecc452c560e1dad1bc4699dfcbe641b948bfdae370cff7acd6f7724f7f5f43f9576c81da3cfac62b267a5a38905ab660f1c881e9b4ac4d3b79bd808c66feff3eca9880da576f74d84f1c7056c1d90bf86c01455e385f140bced899c1a80731cc12cf75fec882885b45f9572df286804ff09f8579352717eadcc143182cc82282a203d4628b17b46296312c1f3d345d28ee5c7e6f7a70f1251b66d34e924e2457fb679e58316bda434d94c398a09a34145055166e89e66a46301149ffce92e638ae7233b35338b4d9a071716c2efc57be63282e86b5d185688d572f7568b43411b963eadd0eb1253663d6849ec50474f344501ab06b6dbce30624a7b52bde0cf154aeaa3508d23a9c2547ccf3d763274c744c25e8319da3c5c07f38686916317b893508b284cbc0ab114d8bdb617816fedbd7206868e43a7c9d950225816cc15fe5eba15257916a803b74e7a6309bec6237ad5e4c61abe4fd0e7c5fcf98357cd8ef778b253ceeeb76fd85b88f01b8996889c010bb062880a6fdd48b67bbeafe25d1a080564d4c80fe88ef5cae461bc4af2c4f09f51c1a15317eccc8d29cfbaa6641e531ccd9d78c4bb3a2e73313f44fedbbe61e65c278d8d5de28a3353bfdbf76e3e659bb0cd7d7f165ffe42fa754743c6f6fff3eabda2d16ed5890a5b9abf13a3bb3a87416d6ea247cdbe7afbd9978214d464d3f2d4af67e709794f8e28f1a0d98303669d6999c925263339369e94322e269892f7a78070cae237c5bf53b080ca27a29f631bd00d5c8c500028dbe8f7213f127f827e5ebbeb21abb472cff4fde9cd89918ba9cbb98a72c0596d45b31e1fe333fd321c5853e853326d0c067f5d8268a73be2e3c7ca143a75c2bb5daeec597c95bfcf4349bc16e6fd538ef45b1f1d50b9a4db6cd53a620570d1bc1724bf0ee538934029a88fabc097cc3ad455a8f47ac2a606490f2644eee2289aca7f3166787436a2beee35b244c63903a44c162bd31e5e7e84ad41ecf365596bbbc4daf1668608ee223c1b3b2a81811f8cad6164043d18b565f3cc4471a78cdda17d4df97b92322e407fc058b502979fde2f07388ec9e7eaa088e43133330359217a36a62ae9fbf5040dfcda39b6201255021f194151ddd682f51a87e208faa574cfa6c35d100dec7b6268e2df83b69b7c2cf49d5fece35a94d1b4e9536b8814ba1f3942fb78905867680c1bd4fe23074e04c8590a96947a55b61aa865127fe34e8b369244b72a45bd1023d207b10c542e75578faa07cdfc7b5dfad0ff94b36b106448dc8f5740231f049f13c237c8e8883d130db8fa5e1c66d1bc36ea3afad5f99a7923da5f98b0b498d00e1aebdbabf287fe38ef2ac7f581765e0e0dddc6548d3ad4a22cdeceb0f68f1d1f25b9d1181bae21e5096bfaddb63224aa30f575e2cbc7903654939eda56b91ba9110ed14c8857d16c4c886fcfa7153afa873833d6e4ccfac5aa75260f783dd6d6cb7686b32518d8651bb6aab96273245cc88ca0956998d91609454c8b796453e000ec649564886351fdd4517b5b2dba36914a7f8022fe31c8f223dfc80a0cc8ce6292f9b1065af8bc465205f9e2209d224f0e24c1ab8022eee1ad8e4bfad6810ce03ac1c3a3cf455e34e42a3625ca7ca02207e9d84d15969692298a4c4b37391c7cb40783501e5e066620e2e9fec89f01d41b951eab965d0641b63c7a64baca0f7957370145472ce1cb16427c888ead1a83dd97394aeed17ade9eea0b4f4d9d350b616ccaafac58255bc1aa2b9630e112900775f83ccaad071dacac248635ddf5320d304a4874cc0af8fa99e7e97cfdfa9b39999bbbc9ce59d0832b2ebddcc78fc0c03bd822faf8cdd3f8f3aabcba1ada3c24e24288001a3efb24a4ccf57dbe5eee499c2d42cafcdd5321faa27f45b8d5979dba1602b281dee42002a1fb2b867f3928ea5daf2a26c082ea0e8040fe3e0c0165ec2b2b3d0113a642571a07eefad6e86f2079c3ca997440bf741131155e6305ead046934a92926e42d0a5a88ead4c23e8a355f531a2e68385742f1e00209c8804c8c1a28951497ef6794a420ae463f00722e31363ff679cd62082308f632f11f93a858c7bd96198f55c0f9cac50a4cb9031b5aea26e8b729c8b65594a1e8cc9becc7d2ee888d77c9bf4c9302544b35a68effe255fd865f17bb902f6327cb8203cd329e4c1a8a66a91bb5e70b98b18d676d59c23ba02ad74a888bc950bdad55d8724c912f79d15aca2b9ea39c9d940840d3d0df0a9e5139af5f25aff2a27ff44543c67f4d3015170e20c416b9aeec9d468da426de41ede6753ffb9b726161db77d0fcf2aa9ffd135a8e976be27c509829829114403a21cda410bb99d2c4bc35389048a129cd0a2c98d3afd7585056f4f6a7044df069c8076cfbe3bc362b54e96a368c654370aa50a635d8e2be6de832f71c5cf1c9b45a7ab84e06b7adf3d237214c8ce633642d1052b122b68b18c4359e3bcde44c1da1e55b32b71ca095c82bcb5687ecb454900a50ce8d69c92568b30c1422c8b8cfeef086f75f391cf2728deef778b9482561a1c3de62dcdc041e60f673e286101a373bcad1e33dd2dc41ee66da0207b0524d13c6ea3c80a2230d636ba51c4757b1cf8e756de402b2aec7947f9f579c89da102b0471a8890cd2f6a0c84ae74ecc0ee0a5c1ac9f5ce698589f37df4961c2c3dff519272ad867eb5e6ddf35522ca1377d3ca2953a630c901f12e64eab1115e42ad418f0df1374b7b2a0cffb647551f7a23d4c43fba332e6a9cfd098082f750e580b07961a95759e1ee7770f117f08af79d8f18e3ae7c69e2dff91b9cf10c1dbeebea02aef85a75a61592929e8c890cba8390893c5330c714922e3a2a5018e75448613658d3f07755706b501b6db07e2bcc96293bf6e6bd2eee9ff992e4b5dcd67de571b9c80e7633272ff1c29aff83e9e2f04cc026bd20ef53ef49eccaa44a733c6918bcaae02dd29faf18235ed2d980a77db7d40d0218aefa95033780bcfe429994ec100e657fde36e237f82ac9a0f3a27e795a00bb1d854f96efae93468567489c07694aaf59725bf0d90a18402ec9b297da5f17a96154036e02bc681a6729147674138d601a09860e6b62db6b0671ed9343da0d2b5f4acf8e4957bb2a5670eb15e105ab4521f83ef5d75bee67162f4cd4a03318df7d67995b77401bc1e05c2d46789f91c631636578223cd0f4ae3a893ce5bc3c14963909aea72cb12969bf7410db76a1e83626640cae8f0956b567db082f622c36b5b5ec23d4266f94bb23363fe3a757edb5405e5055c8af7ffb847202d5dd24a73ba9a54bf8c035d13264ff0e126828d849644937ac18318c7e68d8ef948a76b43cb09f451796ee942bea35b4569e70af68a3efcbe72fb30dbbed5af91adfa1dd9c98ad2669c38cad2fbb1fd064a717c0fd0394b6d5081f94e9f923f5aa4b3678736868c9a109751d74f006114b925939ea479acdcfc721e32750106b44b44ea85c83418ff3d53b691c093224adcc7ada4ac947443cce347c0850cd05dfd6d404daabebacea6d780a950580ef575dc9978554458ca09a0a3f39b416569a1ec06ac83281da52d34e3f374b8c183ae6f3878fc045f954fe81c0a38d84385095a9d042c3237d8d21766a3c36285479d8b97618a42d6d24fc16ea8c48a24f138223c1c0954969fd46c4cd2ee77e74a1ce379a5d514c47ea8559328bc5f5783a65a8effceb928361fc3118e0c6ca0f48688afe19bd1bef6075476ccff8705ee05d753dde4733e95edbe59fd429c2cca2d2ee2810b3c8aef8f4b3109702bb5c908b6438b050e2de939fac5a1816623ca2552b644b030770ecffec5eae1c7dbdf558a471e8e4ec9df540842035c0f4fc8b5329be86836589782eaedc6cbe87ab8ebe77886f9a6026e2c004c9e350fcd46f2a862d87369cc4a702bd96d447ad5"}) socket$nl_netfilter(0x10, 0x3, 0xc) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0xfffffecc) splice(r0, 0x0, r4, 0x0, 0x4ffe0, 0x0) 17:42:06 executing program 0: r0 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x10000000013, &(0x7f0000d06000)=0x1, 0xfffffffffffffe65) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000000)="8907040400", 0x5) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f00000000c0)='veth0\x00', 0x10) syz_open_dev$ndb(&(0x7f0000000100)='/dev/nbd#\x00', 0x0, 0xcc9fa1272ead8089) connect$inet(0xffffffffffffffff, &(0x7f0000000080)={0x2, 0x0, @rand_addr=0x64010102}, 0xffffff44) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, 0x0, 0x0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = socket$inet6(0xa, 0x401000000001, 0x0) close(r2) r3 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) ioctl$CHAR_RAW_ALIGNOFF(r3, 0x127a, &(0x7f0000000300)) ioctl$DRM_IOCTL_MODE_GETCRTC(r3, 0xc06864a1, &(0x7f0000000440)={&(0x7f0000000380)=[0xfff, 0x4e5, 0x4ccc50bf, 0xcf7a], 0x4, 0x8, 0x9d, 0x6, 0x400000, 0x0, 0x6, {0xfc, 0x3, 0x9, 0x3, 0x800, 0xfffb, 0x6, 0x0, 0xb74a, 0xfff, 0x5, 0xc5d, 0x0, 0xfff, "6474bd4109b5aaaebb2246e32e464f5b29e421136ab03b272a1992b9fae185c7"}}) ioctl$RNDGETENTCNT(0xffffffffffffffff, 0x80045200, &(0x7f0000000340)) r4 = open(&(0x7f0000002000)='./bus\x00', 0xc4042, 0x0) sendfile(r1, r4, 0x0, 0x779852dc) ioctl$GIO_SCRNMAP(r4, 0x4b40, &(0x7f0000000140)=""/208) setsockopt$inet_tcp_TCP_REPAIR(r0, 0x6, 0x13, &(0x7f0000000040), 0x4) sysfs$2(0x2, 0x401, &(0x7f0000000240)=""/189) 17:42:06 executing program 3: r0 = perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0x80, 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, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r1 = creat(&(0x7f0000000140)='./bus\x00', 0x169) fcntl$setstatus(r1, 0x4, 0x46802) io_setup(0x100000000000c333, &(0x7f0000000180)=0x0) r3 = open(&(0x7f0000000080)='./bus\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x200000b, 0x30, r3, 0xe424c000) r4 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r4, 0x8933, 0x0) io_cancel(r2, &(0x7f0000000100)={0x0, 0x0, 0x0, 0x6, 0x2e, r4, &(0x7f00000001c0)="fe3cb20b4252e33241569aee129cec9a0d4f80551f83d7d5e4f5ab3a839f9277a1dbdd050404b513e21f9069a61fc9e241c78f46916dea5d3d256611c346e516cd6103af9e10bfa860a6ff336bc445255998defae0ae9850a2bfa7db68f981882306002cb4cf0ef71f814514ce538508445d", 0x72, 0x800, 0x0, 0x3}, &(0x7f0000000240)) ioctl$TIOCGISO7816(r3, 0x80285442, &(0x7f0000000280)) ftruncate(r1, 0x48280) r5 = open(&(0x7f00000004c0)='./bus\x00', 0x2, 0x0) write$P9_RATTACH(r5, &(0x7f0000000000)={0x14}, 0x14) r6 = socket$inet6(0xa, 0x401000000001, 0x0) close(r6) r7 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r6, r7, 0x0, 0x8000fffffffa) r8 = socket$caif_stream(0x25, 0x1, 0x2) ioctl$sock_SIOCBRADDBR(r8, 0x89a0, &(0x7f0000000dc0)='geneve0\x00') io_submit(r2, 0x4, &(0x7f0000000480)=[&(0x7f00000000c0)={0x0, 0x400000000000, 0x0, 0x0, 0x0, r4}, &(0x7f0000000380)={0x0, 0x0, 0x0, 0x6, 0x2, r0, &(0x7f00000002c0)="6f563e11b9a212b5002f564c8d8c7835b688dd924c221f7f85d7b17100088a151d19166990e2919a4eb30402da047efc26fd1dae036b437a3135c980312e1c6ec884c7eff2a0490d8949b686d28663ba466bc74f451638b6c64a42961bc264ed771633a26f7c6f38dac7c55f010697e72476034ade6e423d7286817ba88125d11c522fd4c4c3d83ae714e3e7596544034a59d9dadbfe889642f7f267c8df", 0x9e, 0x5, 0x0, 0x2, r5}, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, 0x1, r0, &(0x7f00000003c0)="374de20704d77fe826fb898d444840d4967723df13be90de3c42e39f5f6bd3d5c556ce5c91ddaea46f1d28e2", 0x2c, 0x3f, 0x0, 0x0, r3}, &(0x7f0000000440)={0x0, 0x0, 0x0, 0x0, 0xf7, r3, &(0x7f0000000580)="6a08e897f4441716daa15de2191e6f935f7f02aaec079f3fd6bd30488b57ded0104d13d1c4e471d65aa2cdf6a9a1c5cd7b93551688abb46528772d89edbf0d85ec9047296cdfe70aa2c563e044859f6d51ae1a3278588f51b55ddf83b6cfb46ecd36b77a446164e4154a64f179a872c4297a08fff25161cedb2da1448bc3ed6162e39cbf2100fea1f9d72acd6f32a507f9f8ea9a835f2e957662b6adee388b2820db6b98540795df999adc8acf18c83a67c6e4d077b535b3bb27ff1725a39ed23912cfe8b0c8f2b557414cf1252d2cbfcc2d0c8df9654fb42d278ae1f8ca59032ab8a82be96720bc5f33429d4d81103b62fd31", 0xf3, 0x3f, 0x0, 0x2, r7}]) 17:42:06 executing program 5: r0 = perf_event_open(&(0x7f0000000080)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffc, 0x1, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0xa) ioctl$SNDCTL_DSP_GETODELAY(0xffffffffffffffff, 0x80045017, &(0x7f0000000340)) recvmmsg(0xffffffffffffffff, &(0x7f0000002cc0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f00000001c0)=""/207, 0xcf}}], 0x1, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000000880)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) r2 = syz_open_procfs(r1, 0x0) r3 = syz_open_procfs(0x0, &(0x7f00000000c0)='mountinfo\x00') ioctl$F2FS_IOC_RESIZE_FS(r0, 0x4008f510, &(0x7f0000000380)=0x3) r4 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000840)='/dev/ttyS3\x00', 0x802, 0x0) r5 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r5, 0x8933, 0x0) io_submit(0x0, 0x1, &(0x7f0000000040)=[&(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0x285, r5, &(0x7f0000000100)="aa28a760cae6ff869a02599bb2d69430d6b78cbdf3d2d41534b8a7e7ae90dc520cca3842cd29cd1bc9913202d3d87b6e6912bc87626daf003e330c143d1d78190897072f4a6db8e70d200791c213562461538d98d3c9cefd3f48717503f018cd1de6f7bf59b2f01b536fb9c9b44e7d76af51ff438e5e7e82b2b8ed232782ee459fe1028b831d85de0b774cd3f16c525607c5bfed217c77299158fab99f52d71d4a6428b728172285", 0xa8, 0x5, 0x0, 0x2, r3}]) sendfile(r4, r3, 0x0, 0x20000000000000d8) fcntl$setpipe(r0, 0x407, 0xa9e01d8) ioctl$VIDIOC_SUBDEV_G_EDID(r3, 0xc0285628, &(0x7f0000000300)={0x0, 0x8, 0x7, [], &(0x7f00000002c0)=0x23}) preadv(r2, &(0x7f00000017c0), 0x315, 0x0, 0x0) 17:42:06 executing program 1: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff7ffffffffffb, 0x0, 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 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x6, &(0x7f00000000c0)=0x2000000000000074, 0xfd83) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) r1 = socket(0x10, 0x803, 0x0) sendto(r1, &(0x7f0000000040), 0x0, 0x0, 0x0, 0x0) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='yeah\x00', 0x5) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe1}]}, 0x10) r2 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r2, 0x8933, 0x0) write$FUSE_DIRENTPLUS(0xffffffffffffffff, &(0x7f0000000640)=ANY=[@ANYRESOCT=r2, @ANYRESHEX, @ANYRES64, @ANYRESDEC, @ANYBLOB="dccbcb96015078f8ba65d96573f9ffec9f857c735743d39759d2e166695170fb23a5171363249b037625e317da6db53eebdb0ae3935837063c7d3fa6338600000000000000000000000067f3a386f3944a43cca9c0c331c9d399cf8be7da30b048de51cdf1645afcfc9b067033ed5327fd2023b8eb576aa47e58593586c452ee97f329f73431ac0cd0d16413f1a7d87bed633d8d30449b966afda3e67afa169f8b9a61a2e8d12cff06c01da51482e6d8c1a372a9ef351335570e5a87715be12b9584225c80a65e9071a4ee98b946d9716143df6e538a1c9bdc83b8f78476ffba14a0a0cd3b253e5815fe43c2be3aaca6758601e6563cd5cdda84ce1ea3f3c6b7cc7f74c6827027f1378e3a6d666599d5f8c6", @ANYRESDEC, @ANYRES32=0xee01], 0x350) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) close(0xffffffffffffffff) sendto$inet(r0, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750ebf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) 17:42:06 executing program 0: r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x1, &(0x7f00000017c0)=[{&(0x7f00000003c0)="200000004000000003000000300000000f000000040000000200000002000000008000000080000020000000dcf4655fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000002bc05fb33d04a05b3927b7dea2da811295e68017b17a1cf551a6ec17521739b8a72362b9ab6213dfdcd51fc2bc93bae2cc3b647f1667bfab960aca76d6fceb5cde589843f9ad021433a43f66ad8c1e6613dda88908d018000009b47c7fdb1e8ea144a92cd01d9efb508971fc9a93410c29f9aa93350554e4abb9690910b4037e3c7cb75e2c0a0c2591bb77c1c419d596dfc662e0a330eb477413b94703e2eafefe96eb4bb986d450039413bb354ac64b254f9706560a91ddfba59377fe63a0cd7d859c139ba9b436564a432b54b9970c3b28de22958ce12852a832cd1000000000000048754d607df2ef0d2713634bf4d4c68a8c144a24903e3cd9e3fc8a27377cad46cf5fe", 0x15f, 0x400}], 0x0, &(0x7f00000001c0)=ANY=[]) ioctl$F2FS_IOC_MOVE_RANGE(r0, 0xc020f509, &(0x7f0000000040)={r0, 0x9, 0x10000, 0xffffffff}) r2 = syz_genetlink_get_family_id$tipc2(&(0x7f00000000c0)='TIPCv2\x00') sendmsg$TIPC_NL_BEARER_SET(r1, &(0x7f0000000280)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000000}, 0xc, &(0x7f0000000240)={&(0x7f0000000140)={0x100, r2, 0x800, 0x70bd27, 0x25dfdbfd, {}, [@TIPC_NLA_MON={0x14, 0x9, 0x0, 0x1, [@TIPC_NLA_MON_ACTIVATION_THRESHOLD={0x8}, @TIPC_NLA_MON_REF={0x8, 0x2, 0x3}]}, @TIPC_NLA_NODE={0xd8, 0x6, 0x0, 0x1, [@TIPC_NLA_NODE_UP={0x4}, @TIPC_NLA_NODE_ADDR={0x8}, @TIPC_NLA_NODE_UP={0x4}, @TIPC_NLA_NODE_ID={0xbd, 0x3, "d48b0a2a869c6eac1886ad2a3e4a77d034b8b0d5e98931fae23b9f22ca11fdc34a46bc7a3730fa025387d0af5dd38848d1ed1630c19b5cb6b97a21efcb3fa48fde63c0c23cade9ecc9b242076dd04331b813a6781181beac09b361d73bab2eca862a864a6649e20b58df4ab44270923ffb569fcba6970cd935fd64f925760ea410ae54574368657f3bd32b53b6ab2ffe32577b2a04b9b2a60d5060f50be0b9609a96038746f9adc3a5694964e6236df906f201b3f05c226dae"}, @TIPC_NLA_NODE_UP={0x4}]}]}, 0x100}, 0x1, 0x0, 0x0, 0x1}, 0x80) 17:42:06 executing program 5: setsockopt$SO_ATTACH_FILTER(0xffffffffffffffff, 0x1, 0x1a, &(0x7f0000000080)={0x9, &(0x7f0000000000)=[{0x2, 0xb0, 0x5d, 0x7}, {0x1, 0xff, 0xbb, 0x7f}, {0x3ff, 0x1, 0x7f, 0xd63f}, {0x8000, 0x6, 0x3f, 0xeab9}, {0x3, 0x2, 0x1, 0x400}, {0xed, 0x0, 0x87, 0x8}, {0x400, 0xff, 0x2, 0x66b}, {0x0, 0x4, 0x4, 0x1}, {0x2fd7, 0x6, 0xe1, 0xd3}]}, 0x10) r0 = socket$inet6(0xa, 0x2, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$befs(&(0x7f0000000600)='befs\x00', &(0x7f0000000640)='./file0\x00', 0x0, 0x0, &(0x7f0000000b00), 0x0, &(0x7f0000000bc0)={[], [{@fscontext={'fscontext', 0x3d, 'root'}}]}) 17:42:06 executing program 1: add_key(&(0x7f0000000000)='encrypted\x00', &(0x7f00000000c0)={'syz', 0x0}, &(0x7f0000000280)="8b", 0x1, 0xfffffffffffffffc) r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8933, 0x0) setsockopt$sock_int(r0, 0x1, 0x4, &(0x7f0000000100)=0xfff, 0x4) r1 = syz_open_dev$vcsa(&(0x7f0000000040)='/dev/vcsa#\x00', 0x200, 0x2c0000) r2 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000140)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) write$char_raw(r2, &(0x7f0000000400)={"b1d2278c9ffff28b223b4bc50637b2ebf1b7ff69d0f3ed06f8feadcc6f515553f83aea47da953846e98a6df685bb9a8be5771c4b2775188cf6663816a674c1cb108ef024b1afe3769ee755459145abbec51d312d267f5d2e386d89e3445efec6c69a066c26f1265b35d23542d9490142ebd640c80ef28f76e43134d2315190d4d0b62beccd544e69f3a56b9d76849cd5bb04c7be594be7fdb4315eeeee93a915292f635b0cd427450a5062ea9a5bdec51db8564b92b2343bee2796867a16cc607a27ea33e504a29c6228b24894fd3678094e33eddcf97246c807d69a4c1dd6ca60887660bda36e3b153745d2e938d7a755daee40ef35c66c9f23516210b2aeeb04002f3a1dc092bff445d146f1a9ada83b8fc275b8af2dce71fbe4937d3e3d5d29402351c4ced0f043b2e3441ec78db1fc3f00c3e34ca05ce4c531837bb705b2696a3a3fe000233e1e7093c836a784677ed2ab0fe9baec84ccd9869d5b2b8c45d68215a0e3651162768411d4ed2e3ad470a24bbbba6ac64030a840e7d7b76f66085d11eef5b7fa50f3cfd93b55bdc39e2438c2d6c8bffef9c1a84797a059f7c035d002ec649d9f314d3cd6322eab77f3f04851eb1becb80c218ddafda4ead3435e13eec2252036baca839433abb15dd84e53bbd5a78b6084d83dcd03c1b2dd2634991bb2e93d73a134b116c1f37e0313e7758d8ca20d237ae236c519ddd60055fed133d416986268807ca3c420e53b97b03f3764bd0e26e90ccdd81c4846e76b4faba6a2b656065dd85ec211d45292cefcfbf843b88db84c5dca2754f03e8c7143d519410ace106f360119c97361f210d933feb53fd4b39f5e7440f5bb82e8353aa55e4b0fdc460fbf189f8cd50d177dfcd5ece594d16c0961235080264382330e5aea2551f2b0b0cb9e9fc5a3714254de25a838630e44f1b62ce580b01689d42d145d7386ac359de116edd8dc4c17bddd67fe296bc1cbd79ed61f1a912d713d8df6b478dd4147eddf56d0b446a62dbe199edcfcb5b5971aebff56c6843b862d8f7a40892af5f4532943da43885d88992afb5774fdd13a28d392a004559c942c424ad19a60ca532dca45216075bc9b1d0d551cc6874bd3518f16021edbec46b6be9a721d6860ab8911bf166d197fbff1ba8398839b289ccf64aff80e2faa1df256735bb5e727c8cd84a29c108cc8e5e14b31160977d13ab09388632a7b224df611096d1b76d194a7e42fbb329e682b23c5fd1b16fa3dabb80aa3ab1dca136b40be2026b0b464c1afbb44686f48b4f47e720f1ecd72f24f9475fc211a7da924abbf18658938874c63614af41c28357e07a7d824462e7330027767b448046891ed3ff308e28e7d24415bb0ab0d49cb02e2e0d9b26ee2a3817896203ea76cb50c361b2a8dd2b4af058beac53bab8448daab655151084828eeb6fc70da7b9c801ebe6a2de8bb129d028865aac5cfafcc9084749335ec8618d774bba542c64a4800fa31fb1842e6bd069ed52449aed038c495097a6f19a8c8e483c6dec2d720f7a5f48ad53582c00fcad1817a71ec8d33bd0468e4fffec20aa1aa0449bc7ae78d1de4b27f062ca2da3abb2d364d8410b6b9fd35486d2b299cbba174bc4b037886d47ace6c9fd26d019a8416cdb57f705de1673cb663df3d6cb11f79e39859add42538548c51299b836186958ec5957c6fbafddfbdcea45eec26aad7a23faf9e106bb9ad052334237482f01a16f389561be68dc32bd89cb3fa878565ac30d250cbff113ccaff046192544c1735e5e119ae0aea5bc463f1e0f8a0bbb7cf46ecc20d1d07bfc3c4d8b57ec6d0cce949b7c7b43dfc266857537ddd75a05e84c456fd210a1e7b290c122dce06b6cb8c5a896c77061a980ef8cdf77ed8f19e2bebcee95666530f49049a0f9d1c0ec6a0214b35a890d0efe14a3353fb389e63227fc689215f004f3a7e60c816376cf026aa313682aa2a39ce458d78752ccad230552970576c7897a866d68bd425cc608b2a648238778efe67ef3bfa0ad0ff330fdbe5298d5038db976b4a07053935c215f4252192b671696a96c9fad633f50ef9b840b7c965cb064cd84476f2930ad992d4de18ca3430b6c81c1e71ce2d8d94c534be9dc15ba4adeadc8c0175a942c9ce1b7986454a71215b9771f6b027c949384f638b3d5aca03c14e9c782d5b0206abeb6e224014c4e0e409f34be5803d3781324d1f58a17cef2e4be5d0a11fd0500a920e220003eaf72e97eeb6af479cd60933c63e79ad224426e0ac7dfd09c2b7dad66f17c401cca561514cc2fe53187fa11cbdcb5367fbfed79d5cd056839d4828f22f9219a6d49484270579a08bf31233ecf479377ddc2651112c4a7e1401ee1cde256135ec76f307c20e9e7058ecaa23624a5b282c026334eab04ac5db527aa4fb6918e792b81dda962e55a9b03e7f7e90dbb23e7668f06f9738a33491612c5b7dc9f771c69b14747802e0319308c724964d64ec45029c559a891f0c52435a4944a41b7e29975b11c91af9b29423266227c84eac7d9efd738433f55836bd580ecdcbd3453b3987d265ac889fd733a4455a8a7f8dfac1ca03192d68ced69a542b0a896805e665a8c7cbffe05726857d81dce3da211140b4f632f9810afc5ed1bceb4d75496409e7a817c1a41eb9c092fec6987c35cbc18f6a3906ca89ce1f02c958e372094f8d63552b1b3945f7e2220c7ff0509d3721fea09754d37f56567f6dbc586c7f5116ea1e1e08aa2370b22cd9ebc87bc889fcbff7a1d1abbb7f1e8ccc6e97f3ecf81ce4ad673eac83633f74f96b848a78e7e1f39b3b5f458d15a16429afc75e5d69b03736fd0faecffe64918185ee2064e95e437a4a03d706fef493f1891885dc7b436a8c909594f00b8652362f6e326bb7052fc65cd02032e857391a88485b041de708933c7e09294d45b6114f8594381142866017dc9f1caab1c579247255b3bdb08ae6218bfc955b6a6089eaa84bc4aa944f8554cc758a9af05398fb63282492339b4c6828aaa9d44596211f768bcf1368ca35448fee0020bf6b7e6de8d991faaba6995d84ec4bc606a13416773c14853ebcaf3bfcbc591648edb51ba1f053872f4f968e4e041a1c2d5fb333fbd219a1963ccbca9b06b3e5278d0349038c7c942e5d114464cffed3ffc0a98a3aeb5ae7f6f4810a38942f20ab686728fe9d314d7b661aa0b4ffd08028d4501e28fedb3a90014862478dc2d1ed806fa6e6230cdadd660589e9742ff2a817f63ce441b2dede77543ddb5a7042852a4d9f4755c424d4dfc6f5b17ad07167d5c9f63b86d26d0e579fccdfb39b8a79a134da46f65bd425b7fe63f70d332572d65cc6895e9ab65a06247041974fd8b5b3a52d0626745c05a6199f4d7e0aadc1537a60490fa6c290a6207f5d80e1662c5464edf2bcc7099b3a30e1cc2fc533c504c609ec76d352c4afbfc6c552c2e51b32acbd7f7d23792e0687ae1b54e3de93c9ca98f5c302933b25828f10590178eee94a00a8443623883e538c6fb9bf747826549bc538573e239896180eed9d1ed6c8188dfc433ae84b4c209c437e8b1243b8e757789bd5524b1cfe6f74345626ff9590a98aa84ff125af20510c6bfd75fdc76c3721afad0899d407d735a4f44e7f75868d2fd039cec28cdf92e95ebdafb77f96d22abf3da6186f1a253a3f8f72d59184905598f082a44454af7aafb1ff1bfa2622faaadfba18a001023bfe0b27b8645f754c65dadd20e797b90431a3d52bece3146072de798ccc02eabf806661e7dcdbc3bb4d2d8dca24e29e8886ce261d3da3e9812bcd0990fb510c80e9d977f93e29385e9f3484dcaad14bc35aae2c46a41c54084427b7c9b45b5323a5efd4322bc52dc01955352f888daa39b92d460f0f09c18b77579eedbe82e37a6fda7edff7933c75563303e4bdf61b0459b4a4bf0ade90c910c978a5fa871c599d94d3fff8d38947cc2204a2e1aa4c748e508386b3c88b7ba44ae52ef079bc57c051250200106fc49e43db66aa186ca63478f30e2800c0788ab830c344961827197f69171fa794705b0cb90c3210cf250abfb84626afad8e31d38083eda79c3c3d809e808ba10d460785bc201e29ea776af1b43eafa044b6fe44b8557524731474742800798b2a6a2496b25952c1b46490f1ce36b1d216498dba3be56af1c251241047c75117e9dfdd00f3c08f5f491ab30e4b4d5504b297f8558e8b011b12e2123364e0ecd2237b7da02d5de253a8d12d53b027ac8c0e3c67dbe6dc4f07ea2b1a1f5a9b73fcfc7d5281f2d91e9f4f1240a29f83a5007fb349a9f8b2a483bb6ec73fd0d66cc85e0dec89f87f2ca8a2703d7c289dc990c94c4a605e2a2471bba675073f6dd1b371cfb2c7d324817ce9761734c94b569cd5a81bdd6774fdc2275a44524ebc27b5fc03b373037ce3e1da96b22bc321ff76202f45ae58d50aa285037b31bf4ed7cf3a55de23f82fa43fb4073ab37e66edc2c3bcf3101e9128f55e8f6cb9702ac43dcf15efcd074535080ed2d2242ca7964bb6eaa7cbaf227478fcf3f402c75fba4128af3a105f80391a6b7203242c42ee741294be971893c2919a4826dac7b0acca511871d6767623bb1f4486e75f50c300329559f72df960cc1329388f3a8c026f485c6af5a60bbeee9071f9413d973e5c7e284b5c11ee2b2b2038ecb79bddacde5e1fe7ce86a383ef46161cf48574f3c0d1a235a453acda7fcc485f11ae5462f651e2a27f90e6b7cfaa74d4bc164e77923fe92751b591a764f759509514c0df93122cdb1fc1246a19c7810ee812599bb77f0dcc2c18fd04ff3b772b862bbcf589beed524a51398057161354ffb77217634bde9fc451e8a9609674585fb67f765c8662ffcf76c9aa949b920860c8992a85b659cd20904bdb4d2f28523b3b4b4f2bbb11f761d7e133439d06b3ac49ed0f68d05982bb944d27d556a9f3a2a5b7e3fbba19197bb836bdad090439db197650f0804f5c2a2cec9b96d094b8aee8d8dcee6a572c0b517fbb1530a31b06c5eb5f19b9d617a5da11fc8140b48141098faf283c5c283e1da14d7546d4473804f1e25f755775765988be96d2584a81d57247163b4e43630235008351fa9b10395be17033b8be895bdfeea2fac5942e578a4b7410926a192ad331f67737fbef19bac15f465cd5d4d166a826878fc0dfbf7e21f9c56c97c4ab44a6a77078f45423f44cbed6084db17476ab3bfd8b1b936d88268833fea572e8d26593d6aea922ab0d1c4c05a23f6744748cd2efdfe5561cef4f278869cdd09d742db6e3e253155d3bc1705b00c04f36e183b847193773fb20bd49bdaf7d7aea388cdbdc905c7108927aa7b7ae29380de02b1c3d75bea906deb31f05701d646f61f4aa69a2b8e4567e2392d91222db2dc5f8b70925a6e366802d87c8f4e67625132b68f343d8ad83f703c1bdfbf340d2e033e7bd6caf0ee8b1bb3377e72eebec7d43ddda5840a9d199727aab9446705d630113ac8989d69c3bcb29cd9dad65941acd7e13f406d1c695e6ca9c5cee7c0756fe512f63ef97cdc699207e2e2a5c775555ee3da4844653b23ff29cfb10ea7186c373efd08aa2a886eb9ea17888dd982b4556b0d14731e2e51b65715a4f5a038f375cec2643bee38aa02e78e1c2018baf8d5353fdc8f8b0b7a7ce345595e5cea173682d0f687ed253c5805dad4b1189b6389acc9b19efe5128309275d73ce639498234f35f012f17fef0109b77ea001b875c7af45d6864330636979d391adaf4baf24d2bbdef430a6a9dea4d073fabd610995bebdd1efd175e8fee14baf7ac34de88211e6e67d6567f2bedad676ab76908d3cecf648c88438a23c83d4115ad88813147192072881ad88dcd2d8a097ef197832b7c8904fc1fb5485ffe4438776919b0e3395350f6175be2226c59b0c1d54cb4425779cf488b0250f77f3a484e435eb2747882659b89bc97a41df5f121f7109156d8ae0c3fe89f71f565f02e3bd87ce401b44009ebc2d592cf7dc747a2e3486af94e7165d78a5e9e78a4eb5946733d515e314dc8777d1b06c3acb1a41297448e4e022638c731e119b88ab5fbf8734f13625e72e86780c9ab607cdcf5ba1c9276ed1f9589b1f0dcbf4a4481fc2148d8b64a6959bf2769257ecd346a32e21dd01930625d13c2ff11604df6420a9db411950aff630cc0f8ebea5ad5fc69ab24f28c5136e58ef10df0faa6d030e848ca2accab2aaa04ea73858a8ada03981bccc327cb62a775da7a53f61eef5b3ce5de7d082575dabf6cfef831d79e55a699ba2f98f520c42b90765367b1d1a056dec503b88b1d48585a644e39df6a5df90012713c6808832f7f32a15750f874fbc762185b69ff7607cfec9b3c4bc04c496fe8b05e1342216c634a3f8f688e6587bd02d86b612847fe42312c56815b5aa2ce9bc2213ba675a3039b6c44c684bb58bc7ede737b46bc50c125ebdb2131089f7ebcd8ba1086c19106b93710c105728d3ebd825139514b73b26c03c43d5664aaa71a1e1de626f8d4ba91d618c41682b71cf95452fa26fa4a38ff47273b22a76aa6014dbe5ecc8e516df9398e602202d292e4b7278fb03814a6effe01862eba3103d01695c0f8831e37f0aa2d17b3e4ee9cc6bf10438951ea7035183e33162ef702f667d8f3f294d7c6cb7ed656828601eb683240b76388aa721f924105294c67cfe7a8d287efa9d0abd488067720800b719143b845887b0b3a47b07e84daf1e3fd5ee543d7f2f462278534eb2a8008c3b289a9939776a32773bf3c51fbb23f276d09b72ac2daf78079448213c5cb9398e61d5e46a9ce0c012cc0331062cc75ed4fdd10255c2942ec396097d141215f4467eb90da6e6080bd53ec5bf69e884d156087187bafbac7130e010a8c7918afab1de47b7c4f23ff6051d5a8a9c575baa55e6187a265106fb17c2a190fa1f12e9fedf514a00cd1b4f5d227949a0b4d27ccef256b94371539fa15739f3846181adb89ec96510f1ab7ba776d7f675181f6c70c6cdfff72a09d24e991a566248520bcbb148b72c8570f65c0b2b5d9ac42ec2126ede493779ce279a8730a491146119521eaa4540d21f49444316f02e08ab89bc844b91f2afd0e55758e4dcf6dd007d7c27a671ac9b2a261511fc71c898036927dd2129eb45ba2439dd716ee339c091dfc70c232380b3341e4c78e617e23c4a3ab6749b64f2ced7b43de278408d7b84d4f68387a14d23112d8c49cd3a18d7acf3d2849b42c9fdce407837bb484f4100a1848e289a3e7a919442a679be7d3bb7e46d005b712b4d6f30bbe2a7f2e70ce77242ce502e9116120e767f54a30ba80ad5cb6af3526de62cbaf193855af7dca567a718694f58298fc662947cc8eaab2c1f597fa8c77f7ef725c4d86338de44913c060bfca167cfac61430b8e088dbffc6bdf8d2ea4f56b86d5f0a41160bbf258f15de156443afb1895996749077db8715753880754c80302c84fe5e86c6c579455287550ca88cd77e9a9dcc80e58cc71ace2a435b1d5e8a792cdfe62daf0f8211fab012c9f24cf6245330182c178ff3d8f595434a21e1ebdf267cde0591fe2f3644ff2f9f4eca3817c2f45cac5efacba59c34ac006d193458a81dbfc763aa512d48d6bbe13adfb740a333e56766b42b7d03cf63a554ab78226dd63e2d577b6ca18b9526af751ec603c33ede8d3b945e1e543452312c3bfd9a817f39366b9ffef898fd910da5b78bc6a7fb1fd6ddfc833aed92fd365fcca5a70d60a5c0e53e45c0a6610449a067683157f4e74ba948999775480314ea862e66f03d306ad1b77bddbbd2a8efbbf44c8a84f3944c53337c14b471724c898da9c70cf8cebab882a700f20b898f80044aa799f465b008cd9c85a23276d7bd35a1b1103ff3f1160639823f59ad1bb21cc45b3bd2b992609b30b8ffef439a66e4c69e975d892972292525b3a9e9406c16763010858fbe804a99f78b0e1e4a8c4d1fbda610b3ba7c66d29e10034f75b31f7a95786f2a39479a4cdf0f6b65703cdd135527ca1229037fd217fdd5f1abb087ed6cf9ec47bc511c2f1808d55b75dc529a09e1eab2d764f3d1ad868cbe77036d5ed66f2e52dac3e66f2c10d2b1cdad729b835a23bf94cafdf69b73c01ca12e08e5f9d164fc8d94a0ac8ca0bc1826fe876a63ff827405cc77cfbdc45a5afc364ba705dee57771155254c8845b17dfbe2ebffba3cd4933ba2d89f6863b1677df127a0ff054c55d656b54aca8fc8801876f8696f51037e39441d15cf6620c9d54a80bc5f1c9107ccd05dcf78b0243ec726a7a23557cf8b541961a56970553973a287e10250bfdf0f5094eaa5e441f35d0ac42fb2e6f0c4674099ffc7ee00ab6d763cbaa4b7291a937437190b8636e5cd43d98a7655e8cc948d9bc478f223567bd32f176953fe639b90748d7bd3110138dac6713d9c7f1d9ba7052641728649a30047a6d0e3e8701c230997dd2329d2b8047b5f6e42ee5c6851513b802ccc3ecad64c33ec73f8b1658e66b0a5ae775714c963b43d01f925408f1423821c76b9d45c48b2d92ce1fbfaa2a8613e2169b873823e63885081bd301044aedc62568bd9749e567f6b39427204d5877898371664474c977709615aa9bbb3bfb1dbd363868efa0de9bdc6bd12c3de946a4f986e713731efbf32223e23438d388da33f1ffd0bef50f16e9c95be8cdaadec81951dd14e3ff7b18f3c6a683ac0a40b5e7c39f4a2b53dcff942f1504008f422ee5c7b7fc8924dbea3f63a7bf70c5b0fa658f10799898c47a2ef0fd648992ac26d2bcac5c73c188d41e696852ee2d0c7196818c2a03dc8799597682245477ed722572f0e75fb2207dc1e8f37894ceb98111a8403afadd3e661e683d50c1e41323784cf0b9b0b9eaf8e9688e862b0e58d05c8336093a03253017cbe36038195b0d7d4d37efefde6d0855a574a38bc81ca0908daee4870a5556e7e2dfc970306bc077e3063022dd4f8ba6486f1526e8dc4796249f6f2a7e9aec6d23aa5b3847ecb735d434cfd343a0510fe22848ebebada0fff5bd22ba88edd17a934944890167e3e203a02e90aa98dc602d737972b43119de8130ff8ee3efdfde513c11d858a33d3df94b0ec0b248fd2777c366e56d75a43b731c6ff85f16a4fabc30bd8c7840c33e51f18af3cbee4172d432837ed029b18a79f6c4ca93f694c20f6e61a1888b4090dc62387cff0ae6a5affa8bb440e6cd7cec4a54a309fd931f6b2046fa35871cef7e7c8dd392429cf2e7b1170d19733558d00a23ab275f2aef131195df02bb99f07010e2604ddced21e18663c2ac207372177d4c5a4cdcab9f6767b54d099a4f4dcc0de6aa8dee743cae77f4dd3843288454806af361947f16bca155802143b3bd0771359a6e4eaa7ec13cabad6079b412c31a095b00e67e60cf9c52df0fddc44c772de118e31df5fd5da45d9f66c78d4caf9afa13f8914c70875dc0d1ea3db48b44d5b5b9065485e578ecf74dc366507376622abfaf4e156908a3f1402c027f2b12969f7ef45238d8ece07981054274b53e32a07ff2d2d80acecd002e5da84313578edac445acfa6b68831a6be23e730430168d8c49fe9f15bab40b1af67fdc9534d8d3898ee42cf6c71aa10cab3ffc9c0fe81516981c618de04c3aa9b93045f1f53c7df533fb6d845765ffb2db84522b7caa14bee7e73663a415dadba01e55e662feccfe7aca9e9492d00c83f68abbe79df708c3d8e3fcec7a0f39d8e05bbb75850e4124ee6a7de7a542cc53e9019046f310bb38cf9e5676623174b4f87de6f15aa309d7b8193c13e573181afbb07e41eb5bb4eb6e49f5d8dd17248dfb273f7042dfcdc753744794dfac74a9be21d3e91ab3f02453f2c1b98fc4153f3a8a9c34b836357e50005e0791519fdcfddd0274e84541185cd5ccdc1231697ae8e93488655cc35b18df32f58e484fb46f6776c444571dbea4157b4b977a6b631f2f7c6c5f4ee74fc5472616d911996890aaab5fa194d1229033eed9377497295d7e6e4e8d8adbd0f4e99f45c073bb1ad37ababfe8c9f711fbc8cd7ce2b907883e1c152e9db51713c9de8ce65e3fca1bc27d9b3230c7a1d6fc0dda09b4d9ca421b137a3a641bcaab0665d6d49d811c534c25a49b7fb8b97874095981093b11cf0f82f21067d5710915acb047fcd5f410d56beffe7e970d46b463a8a38baab021b53afe3a5fd1f632c9e286a440d1e45cc123bb9400bdd33f6bd28b0436253c95ed61eeeb6a504e6e62fe7182e62b7185a8eead5f5eb1813654ce711d93e430afaab21989a2c95e342642d31a806fc0d0427635d4235f60bbfc654fca434f2a39e213e2cba9fa0024133a0af4288ec83ec97fa2f2ce89fe868deaa02ecaca61c57b1fd5cde63113c574d91cdbc9a105ac6bd2239c713e0adea3cce46e12c09218b3168e124ec38e4ccef62426000d24f9c6b12055452b31610268f4379a594ac09baf02c01b044120bb2904912465e6757207bf7a12793262c777e3c710c83ac5839227a9c7fdbded73e18da0f6f8edfd5361ae7eba7c9468e05c00645dc7b1943f2b4252fd4b95780152f83b73883eb6ac61228c215895cf26c6cef0a38abad4a88c9930a251e2c1a9e9ba2047028915a78db8e1fc15891dfcc964e3b46ae069f39feff8025899495f90e26690bc0f2c6018f404d557a4cc8e2c2ba021a4fdcbf771f688b3f126b430340a2f76b7f8d86bc60d0d7f9a2e5416d4e38ac84dce02b965a45b3903f84e86ebe241806aa75fa28d84be033759609b31b53f0d231bee95a06a98f9348923ade6c262a65274f17039ead2695c8232623a31cba06b604419331d8f942c6af6b8388fcd5933c1eb6b36fea464ec26e164aa024c15cb8f33e3e0463d04fe5a374c56bda43adbd30e404e520073cf0fa9b6316e706a0e812c1968904c23c1906e476d326e9427d38401ca6d832a9f128185eb6cbd154dca49ca26ab86a7fc03ac350dab5c81bfde070a4d1818e95bca56cb037ab36b68d19898a99e10c77d1e9ebabd1151b9a88bb5c5e39e5e9f0faf5dbcf8346e0140ddb4575e4353d6db9a7ebf04c07c7215f1ceffb315f73697309296cb383054a35dd64a5aa1775dcdf881528867d9b639c366e156b5030cba4a5d1cf8098625b10a5211bc072777617b8fb36e5c35aeddf35e64cb748de869f07588fda105b1c08c671562f584dc7970956c6d3e6a4a689a39c3bc25ec0982a2f8e168574a97bb094cfb4104e4e578b1abca7175cbed1b77eb16178cc77b1fcd0e0430b4c074dcf49624de6090c4020bde9fda577e7d9ef847dd49cdd567652292c74ba4dcc7eee87f23149a78877bcfcdaa9a8c8112fbb34c517990be0fda6edb1418c4cc24cc85619921f6d00697493e4858b461bc596624fa4728489d5be5fefacb217f197b4cbae118368b9a2477a0a0a533b7e640078a2579ea74bc6caac1457e0574073cea9a4b88e3b8592968ea7c40fb8f42ddb8f553f33cad8ce6dbf55ab76c1c349693c706c15ec75ba60399fdff5e9a3224dd6a7b15b0ec8f2c3df9abef1e7dda9c99fad05b44388f1f2e20b9832d17cdaaa8e82d2260752efadd977a4ff7f6a8186b539f68075eeff1d139e4d3a9d7b53f1aabca7fff181c4ee95ced7fa072ef090a0d8b70a075fc04337ae4c6a36b22e9de64c00fa0d9fd46346e18d1a5f7e9edd3117afac951f1d25beadb4708fe0099ca53b611b90f64be5d2477acd6925c923f972ca7b6a5bc5a11bb21d1ccffa807dac5bfeb326a9f1640ff6fa6d92e703d757f9d8a835c1a2dba3d6c2d39c596fcff5e855e9b612aacb60d9c1d5248f5b099d1a0c1009270b008dfcef0da8723e533f4e75391dd04138023ede70456f8146651aee213f42aab8596a26c1925c4b05c69aa952fedc6faf3c092325d6feb0fd934c8ce6997b819aaecfe7c5b9093cc6b99ade6528adfcfa1b4ebf1c371cb2b80e342de99ce33278c202fd229be306b8f5caa547b14192a5eee21ee59cf98bf812c67c1a7767987ceaccb39a55f50e2576ec9000e88dfec89cc7895dc553baf50e3c7c5948d436deb90db473bf060841796dda0d6d2d4a4cb4d43229190b909d6c5a4baf6ae78266a17a5ed78b3adc48d45aea96f31b5795815fbe69231cc9cadff94108c066caae4e0d9c72546bd688552b95b5feab14cc0817900f9f1a48f6c12632fd722dcea7a6098189e6534a90ceb5b418f007cef8b2cf883bd0f53b946cd16de33a8745d51c88c9258b0a05e495098c73aa15000aa7051c3db3291117b4d71e120ba124eab9465c5ea43aff29a0ebeb33315f462dae06af3e052cd8e66a712919ebba438aa1df5d771064f7420d4e67f8c26a50f1cd6e79bfe6e54c432862e091bd6ba2cc44ced80889bf47629fc3218ae2692b7817a8be9b78febfaed37ca1d488da7fe0d334f95bdaa0fd4978e16383ab378110555e0c33dd408dbd7b70ee50fb6c4b5eeb010ed0a46dfc3b5a13593c312ed61834797565067bcb7c218b64f2f5b35f8f43cdc9f41b52b9b016e0f44fa795ca118fdb27fcf0f34908a004d82bd51bd1d279bd881ff0a8b7ee322242c2f3be12a1ee20d6eaaeb076440398301e73b5a8eaabcfeb58365172e7f06b85948c2beb54cc17f55c0c8fe25dde6eb1c1344cf0a4e169d8b99623f8070009c1d424b66c84c47b1c81eeff439c43acfbf45b3d60d3299d1458b1437f1734e0ab47ea2cf246c88050a2e792ab5d5cfc6fa73a6d22a95cf3300b1c32ea12ded2b4de6e2d1aded567f3af073abddaae2ba9bb066304da47fe6d77a4b5c57849b2e2ca8284d49a2f925131778c580b7da5caff66ddb044135381a717e4f8838821b89f918e12394109e7aaca30660e01d72dd1a4c9abc0e4e713ca5b14a14169b28b4d80f47bfb57cd2b8f47d647c8ec93393c23de73841e434fe603f835c3757a114559206885a6abe7a22b814623487dd2adaa7624b41b4cf862258bf94b9eee2f243acb4a29496a390e74ff1b51e1327345fb57d93a6268894ac7e31737897324b06c4818f8bb717978d3df1ab92e33063301f25d128d450403d538901251f7c4ebfb2a3612a3b2d9e54decd8ece8a2c3e6ce2f020fce92a5dbaded774166e87019bc3b77c9af7930e3352e499feafce4c07f9217d42531c697e906635dc59a5fdb1a4c91b2e0f73d73a47c9b2fea73cccd84c60f767a8c0a62956fce665ae59e8d69b7ce7db38c13678d632720e668b3750b345a56071912706a119206d223620f3bcf42c268a2828cc91ac275be0b871427ffd44e2f5128052f4520bfa94f16e574a5eec9e32b772c2691b5b03464cb0db2a47e5387b47c8b0f27bca037a2b903dc808e582d90b2feddf0071ad603e024d7995a8ef7125f55602eaf3231d6811bdac56869158964793d11ebb83c619efacc3d1a91b643916a218bcd4cdc70f6faf114934c336430b3b34b7c93ab821638a0a314e2e28e0a0f36c0d4c8586e365011ba84ce26c4eeb16b8f4a55af18aaa466acdf58338832c7062e354aa8abd10876ec16db4f41b3b4972da2a60ac08ebb197b20bb50f550eeb72493d01095bab6fa770cd8f6cb2ff2f541cc2b62c98cd8fa8c612b71e3982f99777606f29b4621a226132fbefbc819aa27eb41327cde68733fa989c1d61a26418e920b27a0d50999fb9a03e181829f9287509e65744f7dc325ea011d64d38e111e143dd2ec045d9bc4ddbf5d6e5f46bc7636bd7865735dcd8741733f415b0d127f3271cd625060195294b25b23a2a72ba8f69cc56b12a5f94e4a87ac6470687173d461334ea6f71a35c3c03d9de5bceb67af16c9af1ea17015c9af982bc6553ead961b81daa65003eacd5d4c1b9d7f0f5111b5fbccb332a8ebf4e637b00eb69583c6d3c9d3c917ed7fa59acaac0006a721e7637eaedfd3fbd4fea321544488ed2740f49eceac8ae54f8dc36d2ada9edb8f117c72d47b89e6fc86db6a9ba6dcdf6c823214d2e34914725610a4a2c7cd5ee3176002d75bc6b3bafa38618592b21f0e84b1db9257f8b505f28a81fe49bfa3ddbe7c7ef36e5ad0a9711590ece3180f61edaa830301b83592a39d8e30cc60f2393ffba685620f91f51be5d96fdfc9574f7c08e0da75ae2d0f4aa915c2cd2428d5f4f07c54777860eda1c4038328d1ec4c67a0ebdb51874ae8172db3249196f9272409c5fe5b589b99894a74ba29f5e4a708e7b883b2fa22ff6ef7404b29a34646c86d1e61ff7dea5e79c570ab70feadbf83438b7ce78ef810540a709b2a4cc7803b033467cd965407105bde5c172191756dc4d474a9d0e88f2032085108f8d46abbeb76b5074c2ef93170527839105eaf5869eaa9248d446bcbad9f594d126b2ac2314bbe774af6f3cb8998d66acefb932ebf0bd4dfd1b2c9964a7914392ae0c2b58e726a4d7074d6c0427fd2ed00e336adce1239aa68d1dc8168e0bfded959db8c507410dcfb4596bd1481266065d8683f3296eda70435a425dae0a28989f04390af84be42e8edd6990c7f30e90fb2bae11b91515e1173faf183458523bb593deacc153a5914ac34ea359186b3a3b50e65f6f6c95bf71d7959e7b9d400e56b1a65804c2be180816372ae389b593c2378b795d06fc218d07e10d4e812529ba6a45b49af9e21e1dc4298016fe1039cbf9ce16e51db5fe8cb18c84ef9c3190289418b3773f2151ae6b13eb95dcea747a56b853cc61c050a37fb577e8beff74962706553359edbcd793952025dae10e29532fd8b0514d564c99b8d953699dc11efe3f7ac6eeaa7dba5b16db79fbe9c275221b6545d1ef433c0029a2d6c5971c890f4b320a28ec3916558b7eb04879bbe45db0ea0235859f06e9ba761b748f4be49efc84209f1b35abe30dc865f7355a99875f56c41dcb7f8eddf611b0bc8ef8cec7137600f00ab2fbae510826f299e321c47e86ed017f38ea64fd278655de7a5dcf5090b7c58d8ecec395e3356989d5834e822455bc2d90e8fcc0c887006c08111176934ea47e722067142145710e43ee80d45472500266cc9f46f4b250177fdc3e3a5a76cac34fb8254633d0822b9fdaa912843ba26ed371955a87e048772ed8e6dd8a49ec59aef68b0c0c72afbeea408e5b4f1d01d2cd4ddce44c39e88fad763d13532f2d3aa2a6cd9f76cf24dba6e865da8cc2017bb8f6ac6e37508a7b670910d0c2d09646b222df272eca6a66ad078e85e9dc9c71c07fc30055745529906e8070d595f9aa24fe3392440372117f05277afd416e8c36624547a569b999d356b4d0468d78f4c2bceae22e0edf8c9d3c3993f499ab9687d0b3b4df0414e02f70da8975c7fac1338256364539fc6c3c00d1c279ff8235c0e9112133ed5e0228e9cc597a7049dabc6e529d88cb85915723bf333fb8549585a1df8f588997bcc3e7cd2da5a827e14d2a1b32901d2d8a42d0b28da9c70c7a35274dc3c1c11090724170f12756f9ba76f9a8c03e1195dc395654502a81360de6a6e7884a9da7c979449632f6490f2fe081676cfb4a4a124ba744540860e52bc76433427f12f0b5043af12941cbf3632a241a87f4144b0ef5bdb1749d3490f6fa21e8470fddc9defcc40dd3c933ba59495414f32630555352f38e692126e35ff6beb71ce5bd9143306d44a231dbebec46917920c1a1437c0f05621a16286cbc20d2e69dc8f3a5ec159c876bae2d75d4aced5c3275278dd0c48d31c49bbb4d99d81d4cdc41b9c93850cafd65e3091ac7e1b3f6e9973b22a89ba039232d883bc9699a64644e354a8e601e4725342fb317812402e7a64b237ade8856441aa71760dba22732c8f5fba7e8123143456f449b4908bd30f92b4af623c0c3a556d3748aa373ba71473e7d9dfd5accf7aedf0fa83e4dcb18cdcb9bfbb7fa28eab5464b65fc7fd85c2f5b51c9fe79e1aecad32424d3fcba6723013e808fad5d8564e43ac6e4bf7e92683c8b69d7dc9b4bbe799e4ffd753df4c9af8cb42f7b2f5cf0db1687972638512d0eb002d98016e1985e619606c44e3ddc0a99482ba637c1744357a4e2e2ffb0715c1caa851fd634eaac6f2eeefffa0558235a42e3942261484a9f36547feda1b6ca411e4f550e075a956562981baf90dfc3db384d8845eaa75195512a270b9c4340c4f60f40708fa0968cfe76547c82732dc1e7ba99b23bcedfb64af844d8e1ebcb3b52fbb911dc0c05785af321e86c7cb56227a8c9d4ab42c7a515745a39e12e573d73dfe01a4e15a0be30f8f601433cdcdfc4c1bc8dfca00374855a0dcd139265886fd37517de92dd27989007b268794ce5a4aaa1078b65d75d694c21b07c283391a0d1f0ae84ec5eaea1b08d8faca40e18c4b02c3cb5dce48774f6d50d88827178f5f8b5be1595fffaf7090e83239b6720fbba1de41f427d8a28fa3a06cd40dccf9d832ccf899d67b671c8fd6ae3c4bc5b0268468473798b936940d73709d321f25706f177eba502a3e89a696313e21c2d9411ddbe3f3e4df56c115f28954e71170ba5822a77c6934ddbe2a347cd3d96ccc3fb716a96a80d42add16ce235861909d7744205505944a4632844875e09699c0fe02d7dad9759af40683ffe2a1645fdb2f2962fc7b46d8f86c96b33c12c410fc914190337d6416a27cb6d6a4f78875b3fe308e1c22c531af5b95ce5736ec5e056e839b93285ba3e034ab73a7b6e64e4cdc6dbf44cfaaa6296720962a9a77329b561a5a6056860e952157b0ec6eb21ac162f8d13db94dc9cb5c2c1eddb542e6d20f021a0635bd155e776d15ab28efd311f759bbcaef276a26e15a4a129de8f6d4f4ae0a2247dc83e9b31479fd320502622def38242ed07db80de8ecc00a96fd621d2264e68b6bb8a3b1ec2ca9022921ef71438bf469d9fd3fc206f9d049fd7c932a1ed43aecb1e4830bee253c9295a4141e3d1b65543172c319dcb624a68e05bfd7b96b34d9af87b08d315f63e184a87db54fe34d842fcbc375c07c0ddfde17e3b3b3880d72949beb9adc5078701e1470f199498a3ce534fe07c37efdd7d4a6f15d99544a0a1d29e034a924ed13eaa18ec1ffa05c547fe0521252313b730c09c9d87ab7747149fbfe6f0abfa8100d4e709a58be3bba62691e24826be3b93bae67dc2bd89c3df0961e6c39fd58040dc8e40a6180033308379e5ff2949c40f64a1dbc07d2722764fdffe8fc610d96d60203f4fe9659e831c79ff28b0e443e14924e65f0bb95f27748cc265dc075e722265ded7804be468b1b29349a1f65607439dc914f847f1c417c8ce36273cede16f754c6f7166e1067190013e29d61885746ca98878452fe0d6707d08d4c5456c6b3752fef38258503ee115624639d84a45eea9b9132d63163858dd86849d1f5f04fd23bd65b0576a6725a15cf592451dceb54280742b40b110f1114d5e7d65f67721e357def5ade54635c657c1e0584acaaa09199da7ad1ee74e7d61235d39fd2e739f23b7633ba494168952346d16d200ae0b12b8b3b9fd104e5d4fb27626b2fefad986a47fa616fa0f1b43b90344462133667a6f4a85fd7e86b4ad39a4b838f43268a7c4ba21dce8e651f7f27fc84c972591e4e5feddff6c6e8f6a2777df658d5f446372e75e3bb42a4f8443b75b7cdf53560087f397c5cea929749454855338630364d1a73a687675de72d7510b6d4eaeb03d1195d4b9450cc148ce0cf678bba74bad1abb3237bc674efbd4d57ea5328d19894d6c4913ea79ffd82cd65c7a693cf2d26869cb02fa34794d13993cf718479f0101047b65b2a7e493a0cebbaf5f00992446d96e57ed429edcaf98d64642749d8a1b2c90a6605f18ec4df00892d2a5fef74e75ea99db1e9a7522015b1b7b69bec7b48e9c85635dc45e69bb7ef8190fb79fbb5c821d4cf0ba952f9fe3712204c47ecb551188b50d49ad828a31ee6f1d43608024828402afbbd7b0e0e578d581ca042f1bcec19ccfd70de273709d3390cb2dc8a1a4f4814eb6b618631b8a5bfb11f1fd36b6579daaeddf69d3f8280b1ff96e00cb341b3fa49852ce6853e9f50433709bf42d8a486505a493a0ce7b9d8dfea992a018f1233435823d11ee3f9d91f6575679e2a6b48ecd2b032357910b115499c521c4fac67db391de82eda0183251fb2a6a2dd2cbc86aa079f17a9c6c64b70077e21afd05b3d61e69c944300c0899116976ba44c85a5b73a1f4f5318da573910c738cdf8775b15f16264a4e717c5f0214a19c12f2a8952f12415050189f1714880bf903ab14aac9f0bed93dad6b902bcafc1da30e5e4e091295866a93056c9374694a67ce8b550b9ddad50c986826e1082d3369c27000df34eade13fc64a571775ac062e816221b7b0955713b3eb373e182aeb532ee8e792c4f160a752571c671a35db056b8ee96e2be1a295b719a68a896b8a291e441c20776a1482c5dbc083abdd10660aa6cf8245bfd55912f62e498709f856fb29e5d0a0c776b9ee1f5793eb4b596c1040310e25ea026e46111ec9d6ce783a3fff257e653d616031b9723a264c2a458aa3b4201755ec94b1c91c8a64c9b5009c70c941b6031ffd747a5b3ccabae66bc17562059109a37ce973eb0fd45876749875dee3562a0a38b744eb76befb486476be5b8b84f3878a7a79018290371abab9fa84b88bc5e284e468fd7053953fae5ad3aeda1f8ebd8df308f77c0051faab6d767a30b967da7b2876f6556f2c70e786ce522e08006597dab3c6a0003e023b0ac748bd6e9f17e80e2ce7ed0639feba5fd83be090fb0481f49a44d1b932c02bd9056712124ac8936aee21a8d3b1abb424dcc02b2ecff76c9f661eb14098f6dd647a85f7ba4f920e66c4d3b863d6520c42668b6b01596d366a0d3f2aff50c4331bee37ce4da86bb46edcf22a7c17827384c42c0c04a4dcb2a469c3327cfef1b096e5edef2cff0ec4739c63468cf4dbe943f4949a5f9afdf91dd9f0c3daf5262e579426953a0b1a5592330f3e2b2405de50d192c611302b8d5dd7f691199b2704eb21c6fba22eb94dd5eb8180a33f0776f71ae0214dcec6a20e767f94dbf7e2c554110dce2a73a797e52c19beb4cd4972078368dd945d4ff1401998416e305b9b71d8c077440e01ee884cfb46609178b386b66654aa017aeda211e997afe06ae39f40696539f6a535d8bed18a655faea9e12abf45bf62134f16d8fea47c094dd2b432cf0fd80f0ebdb7f77d945d47c6783f8531358c126246fa9e02ece24f2a80f529f8505d6201bf8e8675595fda562fc2055c62b0ef3e22ce14677b950641a0b8a0e4a3761826a28e64ed6f0f8c64fc57656732ae025821bba2e6ea50844ad71229c43462d653eb19746ddb0e3462366f89a24c7f3d7a6167b0fce50ca35e44dd7650f80373915d47d0111dde43e1b1a89f42de518ec36b17f275e54a5940a4e7c15b96256dcc3b1d69b2494fc163a43bb6179fd7ceef900ad03bed172a42e1e8e567bf089e9607362c90563cb795d259cd64456acb987c688ace8c7e7a4b31ad0b6ff11a8c865f55a0813c2cef8fc5b64e1a88f4f684983dcf3ad1db600b1c205c5a78ac99de3bc50c2d6dd0edf1d3a10761d70f3ea7e9707d977ed25f83d03f88429fd5a3fb7172e18c0926e00a8958300a884c61e4f55ad2582e8c2006303529176eac7983a810efbd3b2c41bb667d78cb13726e85c608ac152d07066ac976dd5c21824110bfe68f5a4ac0a2908d3d9e95c68ecf0cbef9589f6c2cd2687d24a657f0f4ebf2e93e59da79fd8e17e2090a83549ce02536c70a038e1bd0f47796958f6edd5f5337087a3801da264284997b5cba302266e9150d2d8d3e76f0bb38614b51abf22381c41a0e67111c0992b37bab79ef342cf4df2dbea9f263bb81f31fc8077324196e67e90b72cc85f1434b8e2cbcc0e12f94d5d5355d340eb4e3d7c41c44fb9b8e69c5578eee9f25d312a0883aeed6fc8b1f555e4e9c9e2b8863ac617ea5e5112c30356cc4f80f4a130987a6ddeca14f909d835c783bea90c3a9c9c296447ff197bcb32b5dbd8e3acae85af46ed7d1bfc899810f9439447a146f994c87a423812c3cbd85407375cd7eaa4ea813e934e4870b5de97c3c99eb2385b735eff2298f8f9a446eb2fe4782022a82810908df320dc0fea5d56f7f3f2fcf83edadfa6dc382b49ab479121a80cc4cdcfec83e7136810fd9ee65898525fd55ad5eb0be90840e7f5e83e93bc1a0ac6044dbadcb8e26538a31c1001b0b7061e7090373afec819173c4f04a9decd315642035fe199537903061ddcf56cb0c2ad804a72552298c1c4dfe871e841f97b2f09aee63f313ea2c993a0144a619e107bbf80747428d6d04c24be5b48a5334fde23110a6e9717e8d95ba04f842735a7cc114f697f77927aee63d0598a52a79567af7e34a8a3b038ad48cedfd381d9957ea44b46d1b71affb8ea6ae7d6426364eb577fa2497e2ca6a9cba550313d3f89ebe339148e88c2f56faede9f2a21da3747cb6c2be3b540d84e96c9d9d3e1f4db237539af0b68163db1eb0bbe102b03aa6ac484f012068f2898b60b0e281198549432939204a7f82f5679f3338262b16b23bf342243e8e9d4208d7fdef150d291ed1069ccba2b6800f91e40b3afeaa22536af18c580f9012b7597ec77e656ee14aacf9b0a4db79e96e98ab9adeaa7c0d90c353606156748f76325a2b155dfa0f52eb52e63f0fe6366bf0b3496856c32274ba36a3803776ba61e3ef0a8ea6ee0fb5f102fa171a0d8aedf57ec676c4c8649dc84f41b257d8a9bc84bc7262cdb4df5d2d3e13284525c96d4f2c1bdc9c5ef0acf7727ea34417fcce50ecf44b1b90af9afb17f69f09a90ffa9f097e4d125ee6022664107ee9381dccda566525dc33e14d3d3e4c063e2cebc93715c95a2b79e9360d2cc171c17649fd5c2e44f5267cc4aa3ff9d0f324a1942e4710a124584e972f98eb3c22542f078d52501b70d1114f9c6a70e2354ecd1e37877689fc37981054a15210a4abd5c4400e37b97bb93dd9f1d6589e86c5d313c6520ef7da99e63a2d27aac1ee1511fbf94786102364cf7a623e21041ff2da830ed4b54466d7fea76f97c6ffb1ce3539c19db1b46573c7240a7dbeaa536cb9082d25d43aa87b790473d6270013ad519ebb4ed24e1c42d1f23ca16f7493dce3f5f6ba0cdbf7816467d0f71ba2073b305162a85070c1f67d65aca4ffbac131b11cbe1a35a07f9e508e91cb0cbedf108837a4b5a402c1c06ddaa8161dfb08f811e6040adfef0b5056895c442189d64142b7c05625120278c5d0d47ac299dce27171d8a30baba91c5ccb7a22391d67d6ee0b31e99d14b5f750ed5562293324af8386017a3c43bd8e7585cb532c2f1d8a5b5208a42414c81b854b47a73b42c6250eb0e3f1ca18bb2bf4e486392559bfefb85d9e2703f179f31f2f7e5761ca0c6d970662997bbe364f7b82b556804642ae901c8be6d1a55974011d78763392a2684f44cba5a8ebb20f951a8ffb0a17bae37f7161abed52a0165cc4b06c86ccdb8d97c03666e8b1f8984f61b69002d1cb086b5a2751e62138f191b75222dd5bb1ed729c4116f1b8c78419f220e34880f137eb12ffae25c4476ead057f94c524d9ed9b752c237c1bc68a250aa3f758d053e1a1ce6bc07c42bcbf2fb3b69a5849cefb0baf06ec7102ae616972c847f965def4df40c2c49856c739ccf7c69218d92711e6e9ab3a67ea2713dd5213ba73a71d5ccc506058e0611ff06fc2c20a9f326d4a76258a1d6d7f404105bb587469ad043c6f0c0d1135bf3e38f09f238009197e6083e7a4afc92749c78b4ec76993841f3b752559b3b4ec90479e17ec2638b69410ccc7a40270cddcf18455becb86d73d772d9052025f23a5f0e987f1e89a90dd8df645c36fa3c7ec86518aec5b2e74e2ec889108bd760b15c813b29fd89422c4a58b7a2edd954df83799014e19228f2ae7273339f2ca562c8ea9236fdf8d9bedaa401937d3e8cd3fc17320dca794d9d22b8b56c3ff72985d977d61ac136cecac37d69889779b74c42126ffabd23d5f85ff4d6e58575d32f82cc61516c701bb968f109d5af86518f517c75dc2d351f7eaaf488a9e4f3c29ab95ee866931b57ba02f43d15a4047ebb1767acb07e3937674b002377baf3070f70511da361a0e468f76ae47b019bcdedc9b046bc15d9d71f06d6cb4d041c37e1e99b5e1b1f19db833a3c176a095f6727a06cc6a6a18555641f062d46bc81638e9613cccfcfa0e4dfc4c2810811c1b1b4f99d46fc01742598095ea956dc7601cbb0bb5cfe14d263be27af3eb2a837cad5b904ac808201ed6d054c117600082efc1f954127881abc4f8792cf2d9e1de7d66c1a9381e7af6477f6c1ca1c4252688e39c85248d637370666aebc2bcacb06b31acf934f2afe537f41791feea6f98d46656d87922892eef4df79b8e84491025b7121ee7f85e47f3f382a1104c80bcad87a31d47f188f72ae5852574ae1b6b03b4d19f927ec101085d41fdaf91d78304abe12a31665f2d6272805f0824edb1dfd16177d9212f80ec3a6fb6710c496f8318a892cafeda36c582d65618ef382ceb91fcecc99b2599bb1500f322cf80f71663eac88f750a4bc3a1b715ecf2d9475779ef1d954066a713896b583521b6dc59534039f7efca31c0ba037c8f4436efaae4475a7d3975d14576579f4c9edf700cf4f9a837ee41d7b3e79d1c6519d0cd5fe1464e13defe58e83c25097ff43805836d4f489b20b80bd3d576b2df1168ed130f3427717fbcd7565ceffbf48033b7c633445e990c86d2aadd8091bfdc7fbc900bff572792441958d6742bd5814fa03cb460358ec686fa359e339bd9e4344dfc6efac4f9ee8661c95571dce87321b3c89b32334ca5ebaead4033da87262c4c4725d1e1d504a3bfb361bfeeb8608220aa0b98778ea123eb177b4b0d11697161659bdf06559d4fd12074ca61f5672c61d880808356fa51a139eb59d14e62176ca98cddb5cf730880c073a3ee919c234a3f5d8ac953b04eac378938b2084ede95b9f557abfb548d3c212d26b84cd108b50e439a280c6fd62d05e937ce3fe29552ea12c164134f449818a44972882e3008b7c01e124b0ded4c553464368a9c0f53541d42bf09b262128b69c00b1fa77285a81fc50408bfa6f7bad050da2678fce012577e0c67b92b5da2ff9f97f1bf5e6f7e8a6012cfa93d0911d2026604b75fcd06fe5e995408bdcd79a1bad560fe0abd3199f31e525d62f6c83341349895248ce575946625fc8b22a2c4d132c4f7be01b29dfe4a035f32930caafd4e730170a7d7bc2a806fede916de991c5c5991261fe908b826f8dd9579b7a6993f1010d22f16a920120118fb5afe7be9086326e51c178bb60e1c2fa06af240d3ac137f4d021ca0d464ea83303be6a63fa9be51be61ad628722a9d58b52bef7843ea884fdf4470a3063c33108924306dd599dc0daabb6d5db50d91d9b0739cfba366562768781a6ddb353b1b500d5c08d9957417869a795573aafd4e323cc8ee54f4f56961c6aef7a423d7d91ec6e11709d7906e809d50cffb5faa890de45401b05b1c28dbd50c4d974f0ce02264537db825a3dbce33b5547f9ba0d1391a3f0539ae6c8eb1ecc65c0659e0e34b853b72f36b4cc4deac029d42d73acce35002356910f44b34f0cb2f525dd48788b6a80d6d2cfc3a2ad5b38f2b947f6e71eb41134f6408ede238de3cdb2157f3f5ecf288282b331c49bcb49dc6db8ecc6a89a3255702e90722d41e96c8c12c0ee54ccb22e8b0d959ff80eb51863060d6e48b632b3501230b324fc8d69dcc0f9a7acc789597aa6d4e6d674c78d865d14d2427d9dd82cbcb52c8438938aabc3e29e5b7bddbe4bd288acb5e40c703163a25ded890d7396e835d6325eff40528f3c100550f3473221580ba460041786b213ab97d5a6e0b07f0e59d31c967112053f40a8838eb2a333e1ca447e6ed72481dd1a575ba96d651e6a9111007d1550ab1c1f9efa63fb7242594e943d916ac9254406ef89a39256aeb0ad60413e363be79e0a71349fba48506db332d96dc4c5ce1a518a5d6de6da8a2f90a9abb9d146c104c361c06fe795f54b4b0fbc81021f0f78750792115d1b17d7bda9105faf0269430f686d6b651967ed9125cb403470eb4553fbfeca00a28d7d3c76b439358750f0244ce1d38e0de2394f9c2cb5b462ba55725e5261c9698b7904fd8095d98f9e596fd0bd66a53b52a2d1440fefa2a6db644c919b4f8ad1cb208ac956b9715bb494dd4493c9b732e7a6978494e622ea271a8fcefdd531efb61e4c52af9067dbb8baa6ef9db2007e715ab90fa8f7e74a30a1467a783dc41706a9694ceb5c222ad637ddf018e843c5a796d339a657b7c4248f40ec2de0b34bc9d875b883b7d4a747b6307500fa400b5c96b9826c41f431e3787d4fb150a46c0ade2b04f6b2e1b493d04097c139ef41184612cbfef2b38b53d5956651140ace5ee06918757de7a02e4431c8bfc24711e764c27dd3e48d22ae38780f8cc4fc745d1b3c9ed7c06611b964d1bd7bd49dd065302b98afa6f27c7d380fd95e16c9ce9bc05cdd7ff967cae1f9b44287d4e47c9a4f14cf465c02917b6402090312d6d4ccc5cf132e7c7bb567c9b81943cadb97666a18997e6e1c776822dc9477471aca639bca9412fec2e2e4cfc75758564fd8c39df5c1193d17c5f08afc238c75debc339edef2a333a3ab2ccefcc2573689979fb35f4d595b8e86cd342467fe8c7e2bfb7ec93139e7aa4701359491df7412d4a4d47dd6bc9b3e86baf34d051be0abc019b66ad519de54fa70242100de64f4d84dd523aa73ced76391ae289c412f9f0dabaa"}, 0x4600) write$P9_RATTACH(r1, &(0x7f0000000080)={0x14, 0x69, 0x1, {0x4, 0x3, 0x1}}, 0x14) [ 413.873256] EXT4-fs (loop0): bad s_min_extra_isize: 62828 [ 413.911830] encrypted_key: insufficient parameters specified 17:42:06 executing program 1: r0 = accept$unix(0xffffffffffffffff, &(0x7f0000000040)=@abs, &(0x7f00000000c0)=0x6e) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, &(0x7f0000000100)={0x6, 0x0, {0x9, @struct={0x100, 0x8}, 0x0, 0x1, 0x20, 0x0, 0x5, 0x800, 0x2c4, @struct, 0x5, 0x5, [0x7, 0x100, 0xffffffffffffffff, 0xffffffff7fffffff, 0x9, 0x6]}, {0x4, @struct={0x80000001, 0x2}, 0x0, 0xffffffffffffff81, 0x3c, 0xba, 0x7, 0x94, 0xc0, @struct={0xdd, 0x40}, 0x0, 0x4, [0xed8a, 0x100, 0x800, 0x3000000000000, 0xfffffffffffff11a, 0x5]}, {0xfd6, @usage=0x8000, 0x0, 0x7, 0x0, 0xf5be, 0x100000001, 0x80000000, 0x80, @usage=0x4, 0x6, 0x0, [0x0, 0xfffffffffffffffe, 0x2, 0x80000000, 0x18000000000, 0x2]}, {0x1f1, 0x9, 0x6}}) ioctl$BTRFS_IOC_GET_DEV_STATS(r0, 0xc4089434, &(0x7f0000000500)={r1, 0xfffffffffffffffa, 0x1, [0x10000, 0x5, 0x6, 0x5e94], [0x7, 0x401, 0x5, 0x2, 0x0, 0x4, 0x7f, 0xff, 0x9, 0x8, 0x8, 0x1, 0x80000000, 0x10000, 0x9, 0x3, 0x3, 0x6, 0x3ff, 0x6, 0x0, 0x4, 0x2, 0x6, 0x5, 0x7, 0x7, 0xffffffffffff7234, 0xfffffffffffffffe, 0x2000000000000000, 0xfffffffffffffff9, 0x0, 0x20000000000, 0x1, 0x101, 0x3ff, 0x10000, 0xd6ed, 0x80, 0x5, 0x6, 0x986, 0x6, 0x401, 0x8, 0x3f0, 0x9, 0x0, 0x6, 0x3, 0x5, 0xfffffffffffff778, 0x9, 0x3, 0x1ba, 0x1f, 0x66, 0x6, 0x10001, 0x5d3, 0x0, 0x80, 0xffff, 0x9, 0x401, 0x1fffc00000000000, 0xffffffffffffffff, 0x8, 0x99, 0x51ec, 0x2, 0x80, 0xc5e, 0x2, 0x1, 0x1ce, 0x6, 0x1, 0x80000001, 0x2fa, 0x200, 0x7, 0x6, 0x49e751ce, 0xfffffffffffeffff, 0x1, 0xc2, 0x294d, 0x2, 0x6, 0x4, 0x800000001, 0x100000001, 0x65, 0x81, 0x1, 0x7fffffff, 0x5, 0x5, 0x6, 0x1d, 0x3, 0xfd, 0x9, 0xd8, 0x6, 0xc1, 0x6, 0xffffffffffffffff, 0x4, 0x0, 0x4, 0x4, 0x40, 0xa11, 0x315db38a, 0x81, 0x2, 0x6c20, 0x6, 0x100000000]}) syz_emit_ethernet(0x32, &(0x7f0000000000)=ANY=[@ANYBLOB="aaaaaaaaaaaaaaaaa8aaaa000800470000240000000000029078ac1414bb0a0101018303c08303aafbff000090fdac1e0001"], 0x0) ioctl$IOC_PR_RELEASE(0xffffffffffffffff, 0x401070ca, &(0x7f0000000940)={0x1, 0x2, 0x1}) 17:42:06 executing program 0: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) perf_event_open(&(0x7f0000000200)={0x2, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r2, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000023c0)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x59) select(0x40, &(0x7f0000000080)={0x2020, 0x0, 0x0, 0x80}, 0x0, 0x0, 0x0) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000040)=[@textreal={0x8, &(0x7f0000000280)="f30fd6de66b80a0000000f23c00f21f86635010002000f23f8660f5ed90f01cf66b93b00000066b80000010066ba000000000f3067b607c70f0ff80c66b81eb0d68866efbafc0cb8e72feff30f1efe0f20e06635400000000f22e0360f2fe3", 0x5f}], 0x1, 0x51, 0x0, 0x0) ioctl$RTC_AIE_OFF(0xffffffffffffffff, 0x7002) ioctl$KVM_RUN(r3, 0xae80, 0x0) socket$nl_route(0x10, 0x3, 0x0) ioctl$KVM_GET_DIRTY_LOG(0xffffffffffffffff, 0x4010ae42, &(0x7f0000000100)={0x10003, 0x0, &(0x7f0000ff5000/0xa000)=nil}) socket(0x0, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) timer_create(0x3, 0x0, &(0x7f0000000340)) r4 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r4, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) connect$pppoe(r4, &(0x7f00000000c0)={0x18, 0x0, {0x4, @empty, 'ip6gre0\x00'}}, 0x1e) [ 413.922212] print_req_error: I/O error, dev loop0, sector 0 [ 413.927984] Buffer I/O error on dev loop0, logical block 0, async page read 17:42:06 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xc615}, 0x11060, 0x0, 0x0, 0x2, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = perf_event_open(&(0x7f0000000100)={0x0, 0x70, 0x8, 0x80, 0x21, 0xff, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, @perf_config_ext={0x8, 0x4}, 0x102, 0x9, 0x40, 0xe, 0x8, 0x1}, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0x9) r1 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r2 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write(r1, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) fallocate(r1, 0x11, 0x0, 0x10000) sendfile(r1, r2, 0x0, 0x11f08) ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'wlan1\x00'}) ioctl$PERF_EVENT_IOC_DISABLE(r0, 0x2401, 0xffff) 17:42:07 executing program 0: syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x8000000, 0x8e, &(0x7f0000000200)=[{&(0x7f0000010000)="53d6b28187531fd4b8116385c7dac65d16b8f5a83c0c45091f9fd5ef15c9b3571ad3f776ab8b47999a00a78524687b00000001000000000001000000000000005f42485266535f4d07000000000000000040d30100000000004050010000000000000000000000000000000000000000000000080000000000300200000000000600000000000000010000000000000000100000004000000040000000100000810000000500000000000000000000000000000000000000000000006101000000000000020000000001000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b00"/320, 0x140, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e400005001000000000000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000024840900e9754ba6942949a86cc5744201000000000000000000d0010000000024840900e9754ba6942949a86cc574420000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000024840900e9754ba6942949a86cc5744201000000000000000000d0010000000024840900e9754ba6942949a86cc5744200"/256, 0x100, 0x1}, {&(0x7f0000010400)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d10100000000040000000000000000000008000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000005000000000000000080d2010000000006000000000000000080d0010000000006000000000000000000d30100000000060000000000000000c0d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000005000000000000000080d3010000000007000000000000000080d0010000000006000000000000000000d30100000000060000000000000000c0d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d101000000000400000000000000000000080000000000000200000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="8f99ffbee8f9aa7b0fad49d8f171d13148f4a244ee61691395de460f658828fc1ad3f776ab8b47999a00a78524687b00000010000000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610300000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000024840900e9754ba6942949a86cc574420000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000024840900e9754ba6942949a86cc574420000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000024840900e9754ba6942949a86cc5744201000000000000000000000800000000000040010000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b00147e925c656d1d7a273d72dab562353f472e0646d7f89bfa6d85688af7acc9721ad3f776ab8b47999a00a78524687b00004010000000000000000000000000013138bf490c2744f4b35c8f0b3db7e761010000000000000002000000000000000c000000000000100000000000a90000000000000000833f0000180000000000100000000000b00100000000000000833f0000000000000040100000000000a900000000000000006b3f0000180000000040100000000000b002000000000000006b3f0000000000000080100000000000a90000000000000000533f0000180000000080100000000000b00300000000000000533f00000000000000c0100000000000a900000000000000003b3f00001800000000c0100000000000b004000000000000003b3f0000000000000000110000000000a90000000000000000233f0000180000000000110000000000b00500000000000000233f0000000000000040110000000000a900000000000000000b3f0000180000000040110000000000b007000000000000000b3f00"/768, 0x300, 0x103ea0}, {&(0x7f0000010b00)="0000000000000000000000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000035307426be92c7dc6bf0da64be376602574957bdf9ba9c6711e5ce61923bf3a11ad3f776ab8b47999a00a78524687b00008010000000000000000000000000013138bf490c2744f4b35c8f0b3db7e7610100000000000000030000000000000002000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e00005000"/320, 0x140, 0x107f60}, {&(0x7f0000010d00)="00000000000000000000000000000000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000024840900e9754ba6942949a86cc5744201000000000000000000000800000000000040000000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b00b4205d50fd7e7794174a6603bf89a00183cb2ec4f8715b38d001a6a88aa9629a1ad3f776ab8b47999a00a78524687b0000c010000000000000000000000000013138bf490c2744f4b35c8f0b3db7e7610100000000000000040000000000000001000000000100000000000000cc00001000000000006b3f0000300000000000", 0x140, 0x10bf40}, {&(0x7f0000010f00)="0000000000000000000000000000000003000000000000000001000000000000000010000000000000004000000000003138bf490c2744f4b35c8f0b3db7e761acc91784c164fdc00c0d332d9587eef28a5dd9e704dba5f11e2ccdcb5c1780221ad3f776ab8b47999a00a78524687b00000011000000000000000000000000013138bf490c2744f4b35c8f0b3db7e76101000000000000000500000000000000", 0xa0, 0x10ffc0}, {&(0x7f0000011000)="032cbf1b3290391be8a16dd13f0974b71a0239348323030d1ff23b56f2722af61ad3f776ab8b47999a00a78524687b00004011000000000000000000000000013138bf490c2744f4b35c8f0b3db7e76101000000000000000700000000000000", 0x60, 0x114000}, {&(0x7f0000011100)="a4ac967d58b3e9101679a803427598bbda7c982a0137e1f2e0fce474d1a7b7611ad3f776ab8b47999a00a78524687b00008011000000000001000000000000013138bf490c2744f4b35c8f0b3db7e761020000000000000002000000000000000a000000000000100000000000c00000400000000000833f0000180000000000110000000000a900000000000000006b3f0000180000000000110000000000b005000000000000006b3f0000000000000040110000000000a90000000000000000533f0000180000000040110000000000b00700000000000000533f0000000000000080110000000000a90000000000000000323f00002100000000c0110000000000a90000000000000000113f0000210000000000120000000000a90000000000000000f03e0000210000000000500000000000a90000000000000000cf3e0000210000000000500000000000c00000800000000000b73e0000180000000000500000000000c00000800000000000d83e0000180000000000500000000000c000008000000000000b3f0000180000000040110000000000b007000000000000000b3f0000000000000000500000000000c00000800000000000f33e000018", 0x1c0, 0x118000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000004000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b0020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000000400100000000000001000000000000020000000000000003566b09d3dfced5d4c7fe4972b3422b338cf6e76ab681cd5a91871efbfedd251ad3f776ab8b47999a00a78524687b0000c011000000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610200000000000000040000000000000002000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f00003000"/416, 0x1a0, 0x11bf00}, {&(0x7f0000011500)="03000000000000000001000000000000000050000000000000008000000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000010000000000000004000000000003138bf490c2744f4b35c8f0b3db7e7619ac59261608164db833a72baa34fdbd6c55d8aad38f27fcf8a633af054aa29b81ad3f776ab8b47999a00a78524687b00000012000000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610200000000000000030000000000000003000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e00005000"/288, 0x120, 0x11ffa0}, {&(0x7f0000011700)="800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000024840900e9754ba6942949a86cc574420000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000024840900e9754ba6942949a86cc57442010000000000000000000008000000000000c0000000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b00", 0x100, 0x123f00}, {&(0x7f0000011800)="91cb1b1b87dc5c57bdd2bfe8daad2728c723599925767a0d6e5c881433421c731ad3f776ab8b47999a00a78524687b00000050000000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610200000000000000010000000000000004000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b70100000500000000000000840000000000000000763a0000b70100000700000000000000840000000000000000bf380000b70100"/224, 0xe0, 0x500000}, {&(0x7f0000011900)="0000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000", 0x40, 0x503920}, {&(0x7f0000011a00)="00000000010000000000000000000000000000000040110000000000000000000000000000400000000000000000000000000000000000000000000001000000", 0x40, 0x5039c0}, {&(0x7f0000011b00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x503ac0}, {&(0x7f0000011c00)="0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000001100000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000008e48cd85b143434188a7860058ad68b000"/160, 0xa0, 0x503b60}, {&(0x7f0000011d00)="000057bc645f000000000000000057bc645f00"/32, 0x20, 0x503c20}, {&(0x7f0000011e00)="00000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x503c80}, {&(0x7f0000011f00)="0000000000000000000000000000000000000200000000000000000000000000000000c0110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200"/128, 0x80, 0x503d20}, {&(0x7f0000012000)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x503e40}, {&(0x7f0000012100)="000000000000000000020000000000000000000000000000000080110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200000000000000", 0x60, 0x503ee0}, {&(0x7f0000012200)="3732ae5c56def28ba5875040eff0d8c113b3aca8937c94a87d88970b5d7525771ad3f776ab8b47999a00a78524687b00004050000000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610300000000000000040000000000000003000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f00003000"/192, 0xc0, 0x504000}, {&(0x7f0000012300)="00000000000000000000000000000000030000000000000000010000000000000000d0000000000000008000000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050000000000000008000000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000010000000000000004000000000003138bf490c2744f4b35c8f0b3db7e761df7d0af192c6dda9e6305e8984d29574e34ca6b0996bc9739008a2015ae998d71ad3f776ab8b47999a00a78524687b00008050000000000001000000000000013138bf490c2744f4b35c8f0b3db7e761030000000000000002000000000000000a000000000000100000000000a900000000000000007a3f0000210000000000100000000000c00000400000000000623f0000180000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000c00000800000000000323f0000180000000040500000000000a90000000000000000113f0000210000000080500000000000a90000000000000000f03e00002100000000c0500000000000a90000000000000000cf3e0000210000000000510000000000a90000000000000000ae3e0000210000000000d00000000000c00000800000000000963e0000180000000000500000000000c00000800000000000ae3e0000180000000000d00000000000c00000800000000000963e0000180000000040110000000000b007000000000000000b3f0000000000000000500000000000c00000800000000000f33e000018", 0x260, 0x507f60}, {&(0x7f0000012600)="000000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000000001000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000008000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000a153b06144fa97ec453467c78f4ab0792cc2b656bf5e86a780c8ec815af378f61ad3f776ab8b47999a00a78524687b0000c050000000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610300000000000000010000000000000008000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b70100"/608, 0x260, 0x50bee0}, {&(0x7f0000012900)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x50f840}, {&(0x7f0000012a00)="00000100000000000000000000000000000000401100000000000000000000000000004000000000000000000000000000000000000000000000010000000000", 0x40, 0x50f8e0}, {&(0x7f0000012b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x50f9e0}, {&(0x7f0000012d00)="000000000000000000000300000000000000000100000000000000005100000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000003000000000000008e48cd85b143434188a7860058ad68b000"/128, 0x80, 0x50fb60}, {&(0x7f0000012e00)="000000000000000000000000000000000057bc645f000000000000000057bc645f00"/64, 0x40, 0x50fc00}, {&(0x7f0000012f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x50fc80}, {&(0x7f0000013000)="000000000000000000000000000000000000030000000000000000000000000000000040500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x50fd20}, {&(0x7f0000013100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x50fe40}, {&(0x7f0000013200)="000000000000000000030000000000000000000000000000000080500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x50fee0}, {&(0x7f0000013300)="e71241566e5c3d139a076bfc844a1aeb5d2c8a1a4ede62f2c4987cc85ac334411ad3f776ab8b47999a00a78524687b00000051000000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610300000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x510000}, {&(0x7f0000013400)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f0000000000000000", 0xc0, 0x513f40}, {&(0x7f0000013500)="12e3256a88e51fd9446dec72b6aa525a230e4f02eae96bd2b22b6a527047c5631ad3f776ab8b47999a00a78524687b00000050010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000013600)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000024840900e9754ba6942949a86cc574420100000000000000000050040000000024840900e9754ba6942949a86cc574420000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000024840900e9754ba6942949a86cc5744201000000000000000000d0010000000024840900e9754ba6942949a86cc5744200008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000024840900e9754ba6942949a86cc574420000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000024840900e9754ba6942949a86cc574420000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000024840900e9754ba6942949a86cc5744201000000000000000000000800000000000040060000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b008a47688eabb2b45af6c1bf824aae9ea4f9a8478a4f37d5c7c2230348c07a68871ad3f776ab8b47999a00a78524687b00004050010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1503dc0}, {&(0x7f0000013a00)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000024840900e9754ba6942949a86cc574420000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000024840900e9754ba6942949a86cc574420000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000024840900e9754ba6942949a86cc574420100000000000000000050040000000024840900e9754ba6942949a86cc574420000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000024840900e9754ba6942949a86cc5744201000000000000000000d0010000000024840900e9754ba6942949a86cc5744200008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000024840900e9754ba6942949a86cc5744201000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b00", 0x240, 0x1507dc0}, {&(0x7f0000013d00)="12e3256a88e51fd9446dec72b6aa525a230e4f02eae96bd2b22b6a527047c5631ad3f776ab8b47999a00a78524687b00000050010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f0000013e00)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000024840900e9754ba6942949a86cc574420100000000000000000050040000000024840900e9754ba6942949a86cc574420000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000024840900e9754ba6942949a86cc5744201000000000000000000d0010000000024840900e9754ba6942949a86cc5744200008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000024840900e9754ba6942949a86cc574420000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000024840900e9754ba6942949a86cc574420000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000024840900e9754ba6942949a86cc5744201000000000000000000000800000000000040060000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b008a47688eabb2b45af6c1bf824aae9ea4f9a8478a4f37d5c7c2230348c07a68871ad3f776ab8b47999a00a78524687b00004050010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1d03dc0}, {&(0x7f0000014200)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000024840900e9754ba6942949a86cc574420000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000024840900e9754ba6942949a86cc574420000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000024840900e9754ba6942949a86cc574420100000000000000000050040000000024840900e9754ba6942949a86cc574420000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000024840900e9754ba6942949a86cc5744201000000000000000000d0010000000024840900e9754ba6942949a86cc5744200008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000024840900e9754ba6942949a86cc5744201000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b00", 0x240, 0x1d07dc0}, {&(0x7f0000014500)="a0c20a36f2d6530e91f64e82cfbc78881720e33f3b3ba7488647d4e155f3d7ac1ad3f776ab8b47999a00a78524687b000000d0010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610400000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x2500000}, {&(0x7f0000014600)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000066a9de3a912121b00d7bc6b7fd2e4bb5bf1424b6b565fb5e36bc9e291aad78ad1ad3f776ab8b47999a00a78524687b000040d0010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761060000000000000005000000000000001b000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007f3700003b0000000401000000000000010000000000000000df360000a000000004010000000000000c0001000000000000d03600000f00000004010000000000001822a8f12600000000a13600002f000000040100000000000018d65ba13500000000723600002f00000004010000000000006c0000000000000000533600001f0000000501000000000000010000000000000000b3350000a000000005010000000000000c0001000000000000953500001e0000000601000000000000010000000000000000f5340000a000000006010000000000000c0001000000000000e23400001300000006010000000000006c0000000000000000693400007900"/992, 0x3e0, 0x2503f40}, {&(0x7f0000014a00)="000000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c4290400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c4290600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3636373537303835352f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42903010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42904010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f00000000000000006489ece13c692f4be5914f87286bd0332826f94e9abe34da3bd23dd10e727cbd1ad3f776ab8b47999a00a78524687b000080d0010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610600000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000863600003b0000000401000000000000010000000000000000e6350000a000000004010000000000000c0001000000000000d73500000f00000004010000000000001822a8f12600000000a83500002f000000040100000000000018d65ba13500000000793500002f00000004010000000000006c00000000000000005a3500001f0000000501000000000000010000000000000000ba340000a000000005010000000000000c00010000000000009c3400001e00000005010000000000006c000000000000000067340000350000000601000000000000010000000000000000c7330000a000000006010000000000000c0001000000000000b43300001300000006010000000000006c00000000000000003b3300007900"/3872, 0xf20, 0x25074c0}, {&(0x7f0000015a00)="06000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c4290600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c4290600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3636373537303835352f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42903010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f0000000000000000e81d377e09b9eae0dfa40c172f5e3fefd856291448f357aa2506cd38a9297db61ad3f776ab8b47999a00a78524687b0000c0d0010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761060000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xce0, 0x250b3a0}, {&(0x7f0000016700)="ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca70986e5fb66fd2ffc63008ead93731f1744fc460d71c7feeb8df57dd339ef682f1ad3f776ab8b47999a00a78524687b000000d1010000000001000000000000013138bf490c2744f4b35c8f0b3db7e76104000000000000000700000000000000", 0xc0, 0x250ffa0}, {&(0x7f0000016800)="642cbb7d07583d7cf4d7357813d89397da9ce476af5a8f7a46a16edf11bd56011ad3f776ab8b47999a00a78524687b000040d1010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x2514000}, {&(0x7f0000016900)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f00000000000000000000000000000000000000003a6cdb773580ef0bd4d017c99e8d08200c8ca340a10a28987789c3c77fd017c51ad3f776ab8b47999a00a78524687b000080d1010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610400000000000000090000000000000001000000008e48cd85b1434341fb88a7860058ad68b0933f0000080000000000", 0x140, 0x2517f40}, {&(0x7f0000016b00)="00000000000000000000000000000000000000000000000005000000000000007c86dbc8caf9c2bdbeb849779f3ad783e046abd3b8b60bda47ee44dd98143c971ad3f776ab8b47999a00a78524687b0000c0d1010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761050000000000000002000000000000000b000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000000d10100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e0000210000000080d10100000000a90000000000000000ae3e00002100000000c0d10100000000a900000000000000008d3e0000210000000000d20100000000a900000000000000006c3e0000210000000040d20100000000a900000000000000004b3e0000210000000080d10100000000a900000000000000004b3e0000210000000080d10100000000a90000000000000000333e0000210000000000500000000000c00000800000000000f33e000018", 0x1e0, 0x251bfe0}, {&(0x7f0000016d00)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b003000000000000000040000000000000000100000000000022000000000000000000000000000000000100000000000001000000000000001b1e3da2551e4b3861264eaad6ca4bb94c21c7fbac6a182d35a7a667449694de1ad3f776ab8b47999a00a78524687b000000d2010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610500000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/672, 0x2a0, 0x251fe80}, {&(0x7f0000017000)="00000000000000000000000000000000030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050010000000000008000000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050010000000000008000000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0000000000000008000000000003138bf490c2744f4b35c8f0b3db7e761961c46c51a181d1c2a79516a081d1d50992f1f4877758266f1b1eeb9dbb89ca81ad3f776ab8b47999a00a78524687b000040d2010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761050000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x2c0, 0x2523ea0}, {&(0x7f0000017300)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2527560}, {&(0x7f0000017400)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2527720}, {&(0x7f0000017500)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2527840}, {&(0x7f0000017600)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x25278e0}, {&(0x7f0000017700)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x25279e0}, {&(0x7f0000017900)="00000000000000000000040000000000000000010000000000000000d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000008e48cd85b143434188a7860058ad68b000"/128, 0x80, 0x2527b60}, {&(0x7f0000017a00)="000000000000000000000000000000000057bc645f000000000000000057bc645f00"/64, 0x40, 0x2527c00}, {&(0x7f0000017b00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2527c80}, {&(0x7f0000017c00)="000000000000000000000000000000000000050000000000000000000000000000000000d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x2527d20}, {&(0x7f0000017d00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2527e40}, {&(0x7f0000017e00)="0000000000000000000500000000000000000000000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x2527ee0}, {&(0x7f0000017f00)="2c51c221880e72492cc96e85bb6f3e3c636e544d91166dab1ebe03b1feb9d26c1ad3f776ab8b47999a00a78524687b000080d2010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761060000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000080d20100000000a90000000000000000583e00002100000000c0d20100000000a90000000000000000373e0000210000000000d30100000000a90000000000000000163e00002100"/416, 0x1a0, 0x2528000}, {&(0x7f0000018100)="000000000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b0050000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b2050000000000000005010000000000000000000000000000010000008d20db4497ebfb3410a50ac0934f8b61668f1d216998986c0127422ed56fe9b61ad3f776ab8b47999a00a78524687b0000c0d2010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761060000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x300, 0x252be60}, {&(0x7f0000018400)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x252f560}, {&(0x7f0000018500)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x252f720}, {&(0x7f0000018600)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x252f840}, {&(0x7f0000018700)="00000600000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x252f8e0}, {&(0x7f0000018800)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x252f9e0}, {&(0x7f0000018a00)="00000000000000000000060000000000000000010000000000000080d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000006000000000000008e48cd85b143434188a7860058ad68b00000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f00000000eab5dc2a57bc645f00"/224, 0xe0, 0x252fb60}, {&(0x7f0000018b00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252fc80}, {&(0x7f0000018c00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252fd20}, {&(0x7f0000018d00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x252fe40}, {&(0x7f0000018e00)="000000000000000000060000000000000000000000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x252fee0}, {&(0x7f0000018f00)="3e32d78fdc398c696f5f396067c0e7fb3c510c761ebb813bb39c5150cf00fdae1ad3f776ab8b47999a00a78524687b000000d3010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610600000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x2530000}, {&(0x7f0000019000)="0000000000000000030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050010000000000008000000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050010000000000008000000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0000000000000008000000000003138bf490c2744f4b35c8f0b3db7e76100000000000000000000000000000000000000000000000000000000000000000000000000000000d29ed333886be67d8018c246a29db9e53edfa84d1debd3f20f202685ae1f7af01ad3f776ab8b47999a00a78524687b000040d3010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761070000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x280, 0x2533ee0}, {&(0x7f0000019300)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2537560}, {&(0x7f0000019400)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2537720}, {&(0x7f0000019500)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2537840}, {&(0x7f0000019600)="00000600000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x25378e0}, {&(0x7f0000019700)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x25379e0}, {&(0x7f0000019900)="00000000000000000000060000000000000000010000000000000080d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000006000000000000008e48cd85b143434188a7860058ad68b00000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f00000000eab5dc2a57bc645f00"/224, 0xe0, 0x2537b60}, {&(0x7f0000019a00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2537c80}, {&(0x7f0000019b00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x2537d20}, {&(0x7f0000019c00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2537e40}, {&(0x7f0000019d00)="000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2537ee0}, {&(0x7f0000019e00)="4c5a79253ad582abf03315e71303810a01840eedd3f2c1acf55685a7400e8af21ad3f776ab8b47999a00a78524687b000080d3010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761070000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000000d30100000000a90000000000000000583e0000210000000040d30100000000a90000000000000000373e0000210000000080d30100000000a90000000000000000163e00002100"/416, 0x1a0, 0x2538000}, {&(0x7f000001a000)="000000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b0050000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000", 0x1a0}, {&(0x7f000001a200)="a7bf469ac842fdb840ed38a412b2f4f9ab6bd035dba54f32a6c771cce185f3ac1ad3f776ab8b47999a00a78524687b00000000040000000001000000000000005f42485266535f4d07000000000000000040d30100000000004050010000000000000000000000000000000000000000000000080000000000300200000000000600000000000000010000000000000000100000004000000040000000100000810000000500000000000000000000000000000000000000000000006101000000000000020000000001000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000024840900e9754ba6942949a86cc574421ad3f776ab8b47999a00a78524687b00"/320, 0x140, 0x4000000}, {&(0x7f000001a400)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x4000220}, {&(0x7f000001a500)="00000000000000000000000001000000000000e400005001000000000000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000024840900e9754ba6942949a86cc5744201000000000000000000d0010000000024840900e9754ba6942949a86cc574420000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000024840900e9754ba6942949a86cc5744201000000000000000000d0010000000024840900e9754ba6942949a86cc5744200"/256, 0x100, 0x4000320}, {&(0x7f000001a600)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d10100000000040000000000000000000008000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000005000000000000000080d2010000000006000000000000000080d0010000000006000000000000000000d30100000000060000000000000000c0d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000005000000000000000080d3010000000007000000000000000080d0010000000006000000000000000000d30100000000060000000000000000c0d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d101000000000400000000000000000000080000000000000200000000000100"/640, 0x280, 0x4000b20}, {&(0x7f000001a900)="a0c20a36f2d6530e91f64e82cfbc78881720e33f3b3ba7488647d4e155f3d7ac1ad3f776ab8b47999a00a78524687b000000d0010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610400000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x4500000}, {&(0x7f000001aa00)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000066a9de3a912121b00d7bc6b7fd2e4bb5bf1424b6b565fb5e36bc9e291aad78ad1ad3f776ab8b47999a00a78524687b000040d0010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761060000000000000005000000000000001b000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007f3700003b0000000401000000000000010000000000000000df360000a000000004010000000000000c0001000000000000d03600000f00000004010000000000001822a8f12600000000a13600002f000000040100000000000018d65ba13500000000723600002f00000004010000000000006c0000000000000000533600001f0000000501000000000000010000000000000000b3350000a000000005010000000000000c0001000000000000953500001e0000000601000000000000010000000000000000f5340000a000000006010000000000000c0001000000000000e23400001300000006010000000000006c0000000000000000693400007900"/992, 0x3e0, 0x4503f40}, {&(0x7f000001ae00)="000000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c4290400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c4290600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3636373537303835352f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42903010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42904010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f00000000000000006489ece13c692f4be5914f87286bd0332826f94e9abe34da3bd23dd10e727cbd1ad3f776ab8b47999a00a78524687b000080d0010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610600000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000863600003b0000000401000000000000010000000000000000e6350000a000000004010000000000000c0001000000000000d73500000f00000004010000000000001822a8f12600000000a83500002f000000040100000000000018d65ba13500000000793500002f00000004010000000000006c00000000000000005a3500001f0000000501000000000000010000000000000000ba340000a000000005010000000000000c00010000000000009c3400001e00000005010000000000006c000000000000000067340000350000000601000000000000010000000000000000c7330000a000000006010000000000000c0001000000000000b43300001300000006010000000000006c00000000000000003b3300007900"/3872, 0xf20, 0x45074c0}, {&(0x7f000001be00)="06000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c4290600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c4290600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3636373537303835352f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42903010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f00000000ca53c42906010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f00000000ca53c42957bc645f00000000ca53c42957bc645f0000000000000000e81d377e09b9eae0dfa40c172f5e3fefd856291448f357aa2506cd38a9297db61ad3f776ab8b47999a00a78524687b0000c0d0010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761060000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xce0, 0x450b3a0}, {&(0x7f000001cb00)="ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca70986e5fb66fd2ffc63008ead93731f1744fc460d71c7feeb8df57dd339ef682f1ad3f776ab8b47999a00a78524687b000000d1010000000001000000000000013138bf490c2744f4b35c8f0b3db7e76104000000000000000700000000000000", 0xc0, 0x450ffa0}, {&(0x7f000001cc00)="642cbb7d07583d7cf4d7357813d89397da9ce476af5a8f7a46a16edf11bd56011ad3f776ab8b47999a00a78524687b000040d1010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x4514000}, {&(0x7f000001cd00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f00000000000000000000000000000000000000003a6cdb773580ef0bd4d017c99e8d08200c8ca340a10a28987789c3c77fd017c51ad3f776ab8b47999a00a78524687b000080d1010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610400000000000000090000000000000001000000008e48cd85b1434341fb88a7860058ad68b0933f0000080000000000", 0x140, 0x4517f40}, {&(0x7f000001cf00)="00000000000000000000000000000000000000000000000005000000000000007c86dbc8caf9c2bdbeb849779f3ad783e046abd3b8b60bda47ee44dd98143c971ad3f776ab8b47999a00a78524687b0000c0d1010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761050000000000000002000000000000000b000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000000d10100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e0000210000000080d10100000000a90000000000000000ae3e00002100000000c0d10100000000a900000000000000008d3e0000210000000000d20100000000a900000000000000006c3e0000210000000040d20100000000a900000000000000004b3e0000210000000080d10100000000a900000000000000004b3e0000210000000080d10100000000a90000000000000000333e0000210000000000500000000000c00000800000000000f33e000018", 0x1e0, 0x451bfe0}, {&(0x7f000001d100)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b003000000000000000040000000000000000100000000000022000000000000000000000000000000000100000000000001000000000000001b1e3da2551e4b3861264eaad6ca4bb94c21c7fbac6a182d35a7a667449694de1ad3f776ab8b47999a00a78524687b000000d2010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610500000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/672, 0x2a0, 0x451fe80}, {&(0x7f000001d400)="00000000000000000000000000000000030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050010000000000008000000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050010000000000008000000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0000000000000008000000000003138bf490c2744f4b35c8f0b3db7e761961c46c51a181d1c2a79516a081d1d50992f1f4877758266f1b1eeb9dbb89ca81ad3f776ab8b47999a00a78524687b000040d2010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761050000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x2c0, 0x4523ea0}, {&(0x7f000001d700)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4527560}, {&(0x7f000001d800)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4527720}, {&(0x7f000001d900)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4527840}, {&(0x7f000001da00)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x45278e0}, {&(0x7f000001db00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x45279e0}, {&(0x7f000001dd00)="00000000000000000000040000000000000000010000000000000000d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000008e48cd85b143434188a7860058ad68b000"/128, 0x80, 0x4527b60}, {&(0x7f000001de00)="000000000000000000000000000000000057bc645f000000000000000057bc645f00"/64, 0x40, 0x4527c00}, {&(0x7f000001df00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4527c80}, {&(0x7f000001e000)="000000000000000000000000000000000000050000000000000000000000000000000000d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x4527d20}, {&(0x7f000001e100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4527e40}, {&(0x7f000001e200)="0000000000000000000500000000000000000000000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x4527ee0}, {&(0x7f000001e300)="2c51c221880e72492cc96e85bb6f3e3c636e544d91166dab1ebe03b1feb9d26c1ad3f776ab8b47999a00a78524687b000080d2010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761060000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000080d20100000000a90000000000000000583e00002100000000c0d20100000000a90000000000000000373e0000210000000000d30100000000a90000000000000000163e00002100"/416, 0x1a0, 0x4528000}, {&(0x7f000001e500)="000000000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b0050000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b2050000000000000005010000000000000000000000000000010000008d20db4497ebfb3410a50ac0934f8b61668f1d216998986c0127422ed56fe9b61ad3f776ab8b47999a00a78524687b0000c0d2010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761060000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x300, 0x452be60}, {&(0x7f000001e800)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x452f560}, {&(0x7f000001e900)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x452f720}, {&(0x7f000001ea00)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x452f840}, {&(0x7f000001eb00)="00000600000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x452f8e0}, {&(0x7f000001ec00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x452f9e0}, {&(0x7f0000000f80)="00000000000000000000060000000000000000010000000000000080d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000006000000000000008e48cd85b143434188a7860058ad68b00000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f00000000eab5dc2a57bc645f00"/224, 0xe0, 0x452fb60}, {&(0x7f000001ef00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452fc80}, {&(0x7f000001f000)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452fd20}, {&(0x7f000001f100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x452fe40}, {&(0x7f000001f200)="000000000000000000060000000000000000000000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x452fee0}, {&(0x7f000001f300)="3e32d78fdc398c696f5f396067c0e7fb3c510c761ebb813bb39c5150cf00fdae1ad3f776ab8b47999a00a78524687b000000d3010000000001000000000000013138bf490c2744f4b35c8f0b3db7e7610600000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x4530000}, {&(0x7f000001f400)="0000000000000000030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0010000000000000002000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050010000000000008000000000003138bf490c2744f4b35c8f0b3db7e76103000000000000000001000000000000000050010000000000008000000000003138bf490c2744f4b35c8f0b3db7e761030000000000000000010000000000000000d0000000000000008000000000003138bf490c2744f4b35c8f0b3db7e76100000000000000000000000000000000000000000000000000000000000000000000000000000000d29ed333886be67d8018c246a29db9e53edfa84d1debd3f20f202685ae1f7af01ad3f776ab8b47999a00a78524687b000040d3010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761070000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x280, 0x4533ee0}, {&(0x7f000001f700)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4537560}, {&(0x7f000001f800)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4537720}, {&(0x7f000001f900)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4537840}, {&(0x7f000001fa00)="00000600000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x45378e0}, {&(0x7f000001fb00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000057bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x45379e0}, {&(0x7f000001fd00)="00000000000000000000060000000000000000010000000000000080d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000006000000000000008e48cd85b143434188a7860058ad68b00000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000057bc645f00000000eab5dc2a57bc645f00"/224, 0xe0, 0x4537b60}, {&(0x7f000001fe00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4537c80}, {&(0x7f000001ff00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x4537d20}, {&(0x7f0000020000)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4537e40}, {&(0x7f0000020100)="000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4537ee0}, {&(0x7f0000020200)="4c5a79253ad582abf03315e71303810a01840eedd3f2c1acf55685a7400e8af21ad3f776ab8b47999a00a78524687b000080d3010000000001000000000000013138bf490c2744f4b35c8f0b3db7e761070000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000000d30100000000a90000000000000000583e0000210000000040d30100000000a90000000000000000373e0000210000000080d30100000000a90000000000000000163e00002100"/416, 0x1a0, 0x4538000}, {&(0x7f0000020400)="000000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b0050000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000", 0x1a0, 0x453be60}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="59e924673dfd23aac700"]) 17:42:07 executing program 3: syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) r0 = socket$inet6(0xa, 0x400000000001, 0x0) close(r0) r1 = socket$inet6(0xa, 0x801, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) sendmsg$ETHTOOL_MSG_STRSET_GET(0xffffffffffffffff, &(0x7f0000001440)={0x0, 0x0, &(0x7f0000001400)={&(0x7f0000000080)={0x18, 0x0, 0x94ffc04bdf89bfef, 0x0, 0x0, {}, [@ETHTOOL_A_STRSET_HEADER={0x4}]}, 0x18}}, 0x0) ioctl$sock_ipv4_tunnel_SIOCADDTUNNEL(0xffffffffffffffff, 0x89f1, &(0x7f0000001340)={'syztnl2\x00', &(0x7f0000001240)={'erspan0\x00', 0x0, 0x7, 0x10, 0x188, 0x5, {{0x37, 0x4, 0x0, 0x4, 0xdc, 0x66, 0x0, 0x3b, 0x4, 0x0, @multicast2, @local, {[@generic={0x44, 0xf, "bbb6ea7e864d46bc5c9ddb1da4"}, @generic={0x44, 0xf, "4b3c2d86639866bc02a747275f"}, @lsrr={0x83, 0x1b, 0xb8, [@dev={0xac, 0x14, 0x14, 0xf}, @initdev={0xac, 0x1e, 0x0, 0x0}, @empty, @broadcast, @multicast2, @private=0xa010100]}, @timestamp_addr={0x44, 0x2c, 0x47, 0x1, 0x5, [{@private=0xa010102, 0x8}, {@private=0xa010100}, {@broadcast, 0x48}, {@rand_addr=0x64010100, 0x5}, {@initdev={0xac, 0x1e, 0x1, 0x0}, 0x20}]}, @cipso={0x86, 0x41, 0x3, [{0x5, 0xb, "33e10552963c6cf8c7"}, {0x6, 0x7, "c0e06ea7a5"}, {0x0, 0x2}, {0x2, 0x5, "cf9404"}, {0x1, 0xe, "ef1f63ea28a61b7ad049dfbc"}, {0x1, 0x7, "067a802e23"}, {0x7, 0x5, 'C@a'}, {0x1, 0x8, "63930504813a"}]}, @rr={0x7, 0x1f, 0x6f, [@local, @rand_addr=0x64010101, @remote, @empty, @multicast2, @loopback, @dev={0xac, 0x14, 0x14, 0x11}]}]}}}}}) getsockname$packet(0xffffffffffffffff, &(0x7f0000001380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @link_local}, &(0x7f00000013c0)=0x14) sendmsg$ETHTOOL_MSG_CHANNELS_GET(0xffffffffffffffff, &(0x7f0000001500)={&(0x7f0000001200)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f00000014c0)={&(0x7f0000001400)={0x94, 0x0, 0x2, 0x70bd26, 0x25dfdbfb, {}, [@HEADER={0x28, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'wg0\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_FLAGS={0x8}]}, @HEADER={0x1c, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r2}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}]}, @HEADER={0x38, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_FLAGS={0x8}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'wg2\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r3}]}, @HEADER={0x4}]}, 0x94}, 0x1, 0x0, 0x0, 0x40844}, 0x4040040) r4 = dup(0xffffffffffffffff) sendto$inet6(r4, &(0x7f0000000200)="4ead07249104c774eb9235c7fffbe225352de2716c8b1f2289ae2a9abca7ce689a995bf915fff11fa57f4ea763d5fdf1cc3e2f4abbc7d2b0aa22f17936ea27f291b61f241c9c3df59a726744c9aef394f8303022c19efac53c1d1a2867b4a9dbba2d91583a39b217b0f3a5e1a566fb6b9c9e50a58cdb47a2006f821a037f7c01d552d706e34f0bb8df1c9b9631324f48bf906d03b5cb7d58d1d897a289c7612ca07dd7b5f865d92663813011511362201f80d19f2e5d2945688938b6cd8a385e39d8c0085f60d77e662870faa121d238002823b629bf963f4e5acc65b5d61eedd5cb88695e5df5c769ebbba712e8c15712021deba2739b5a9e24fb42659bc5ff0897880b73b5efaaddefff32730c702028eb04cfbfae4a18adf8dab009ef2db3e528add0548c21e5e1186dcac35cce48dc37f81de81590ddebdf3e2fd396b7c3336194770cee38199dcc5b4c5d5b1aab7b950188faf253ef7dd0aaf89f8d30fca6b6165be37bc8de2473788706c23289f633076ad59d3a515cc5d5853543b512f199f5905dc47810e1be0f652ad499c73c789b9ed1f2d9d66fe894f6db1e3353dd779ba6b0e0871963fb28e77fb64854662a411e446d477be65b7eae2a63cfbc4c129d888bda00e8e034f9a50a9e0341430c522d1ad0a0b230935e790e6f4d9a16985e35b9d3613ac173022fa34a8b6a8243b93ba6dfb1ca1bf83e51d65c5a9425093d2863f9940228e5e7ab2f00839ef5e2328e56738d8b72ce1db103e4f7a72436454495b226160b3441139729aad0965f92fff3fffab1e8a47590dedd125a6577b5024a9cc988f37c92289db23a448dd39baa82813fefd8029748389abd685983ba938dc2673f82b298aaf382b2662a892783e7039e518c4f0d342ed52bcc22512d1c6ac7bcdfd1aa6c385a3234825121e3b0572f752232d337454f51c62a7d5c9db73b0fe77348d72d5da5cfb22b840d9a5c45aba5c3367d23909b29910381f7837b57f685f76e8c3d231525ce6b5b9cb72964d37d0157624efc25879fd8931b12357c268980cecb2990ab5db70c2a849b1401362b331258168cf705762ce85af8b2a08006144b4b0a9064387c7a15f7a96b868d3efc8c619cb436685ebd77b5ea91ef2df1f4b4e3c8bed3d51df8cf48ed6e042cf17570d799f6e9b5167f9b1ec8f05de9c7649ca44b87799f35245d82625775e6f768adefbff8c362b242dc16df0f60722c1dded8350b54a8bae5535e527a41d7da14375c63a2992135978ed85a7b0f08e87f6afa19d191fd1d08031a6f1532faa5a7bf0fda3fcf12f667e3e599ef9f904912ee8e2094a069fd42c07fe498aa8eff6544f3cfccead6cc59e29a697dd80d89ca36ae052a53ceb28837896259199248e1bc44117266ca38c005502d15eedce35ebf66c779d0bf4fdc512ebae42756fcf96862c205aedfb19484c52b4bf489508f2e3b4095423f59dd572a783d1fe7fbed6fc9fa34f333f4c88db280354686751e318507a65339a9a2c9c9e2056290e02187125cd62d206f33902e7ea6426666b3e972073d40752099c355596fd00eb3e25ddbf522e3d4345a2e9aabc6500ae9204e949aeef84700a7240ea43582eefd9eebfc8938f04c50de1c98a2e82d68ede648796ffacb43f1cbf621d74e7b0abad124df8bf8afa358827fb91db9b2fc829924513778f20957833b7e901b71df80211586d6582e5ed257c57b12715b11cd8118dd9dc34e9c3cf6e3091e5081775e161944e333ff7e9ad5d964a6cc20d572198b297c6ca49b4c89e1e801854564ff1632f7ac17ca97e9cc38efe6f5f30fc945d096c068d4610b35a21f2270f69a4c860d52ccdbbed442dbd4dba6d034a4df6a79aced0f5ac19f506544dce408c388cd807f822c2df2123dbddcff5f2beb10aeedb1a30834e52d99b82b437fdd6e99790bfffefe42b7a208f3bc07faefd722fe2e686b595a604f4952d80631548f067581ea49d0575605785d0fa0946373e2b182b3ba5c0d0d4520270907a7141fdd5dbde27059b0e2c38ce9bf123537426f57756f670598e4c8b505e211939faa643088e349fbdaa44c34991a8df18d9dfc5ef94a912b01e94325b518f55448362605dd7b7f37e58434cbce3d852e5969f6c910331674311c879ef0487ad8c6c67d312966694c7f9b022f6f7bd8a1168e76eda5528c4c81c8d9aa4c1d879184f2740e38a062aa3ea1baedd00b9dfb7d7f648335127c1fa9715d7a653634bf627c859bae8b1e53d99382a4a1925acbc0ec21483348f852eb7dce636c77c027b528e57911afb651e7e679b25fe37738082dfdc7b54c95413e9c94fa326cf926e2ebc492c8289d5e8d4f29dcfbd20e4cb8caad38fa88919c0a01f8cf423f150225439569c4de8ae87d7c41d64ea5b0490d7bd2c7cfc41fb0cfd07c86e1432ee243ea25cd326a924bd9cc3ff750b1a8629d89cab3c423d24143db4c71433e5010df8b3ce85a8382827851c760be580022bc361c6e7f4d754b7ad64f2beca68b0138133a1aa99b2bc517899f06570d022dd5495fa18261de5b56d71e3eae0097498096b08b747baabbaa531f9f255f8ee3a351738debd664b1477a989df7ee5c1e72dc957dc718467c9e444636de0b025494d49611c42bf7c3ee261d648da2189f2fbf03543fdf60c3ead54a0752536db4367f6db60fd1178bb3f21c1cd181546dd255b40a1a81285316817869d5d83c2ecbc1563d3eb537f7202d9f8e21d8b7170f40972eb87cb5bf8e1c3eb5ab419f40ee35f2821b67e7bfceab15f90292248db8a6f5dec7cec3616871d97042e83d1eba66e954359dc4ecab291691cf56e2fdf1a4fe4c9e0df429974953a981e3d3b383c13cbe9c15e08f8fbd71ee69c6ff14429993d950efa7252e3e6339eafedcc244a86ab08a10a0c3a9e03ea5e968a0a2d73a79e884cc5db900a30bb8593cf124e77df5aad506a6aca4ee79d4b71bb3d719c95751086b0d49357c4567db7c1cb68869a5a6b0de8d779825e3377f58e3c91b1105c0782d78775ef1568cdf65442e2ea6ada8a6cc2ce18bc3809624dae4f1a6ab8ea656727b562d6ee0ec276e7dd1ed37d8ea1d97a1d1c573fbdd9f09979eaa515c04c95d09118ba2d240217ba378043189cb77b1cfa13c5d80ab2d6c695568d3af0332d2b9cea5485d75dd79ca2dbbb56eaa2a5c0f02fefc6c0bdc3c0f1f097ef8b17dd2fc523cd5051164dea29bc79edcf9d42fa9fe2b8f1895e996e6f8f7182b009d26fe5e0bd093c093190f0d901461639e70a076f6aac4457c19e11fac69759d1b1d5c7a90e9d78e5692ca3e2ba2ed3d0b570da1944d144ff6a94cd0af2365502d58881ffd6b4e372cb73e6f0e3538d69f7eb6882085a7310e667d55cac3844f42dca3a400382c3a448285b9127bb388225789ce4e7d30048d76afc5c4de3222245187d735aa62a6f6b3bd87431a387a7cbb24c3d0c50bd7db848df0ae83b4a00263133f160caad9e8a25e2c7241632130c120f837a8065fe3391bd2370785c8abd774ba768664d2fe9b219fd4d689bfd44a5e6cc1c1642ff731e79d8270c0892c52b02683766541e4186adbe160bc3767b5ca1c80db6327ea1bf5b1dc5ecc95758aee381b6a45c4d788d7d42de99a466784e6cc0921ca9652b8a7c8b485f2283262d108e7cf1b072eba379b8695beab3bdf0908a3a67aa7e5398fbbe329ee8b4bff81a5eae7f69532ca5dd092ece201650ee718dc6f5ab8fd2ccc8009a20e89c546a4e5c683be922fea29c1fe34730f60e39f4d853fdd15a3e5245df38b6338547f108a715a3589417e9b9642b9880829cafd2bc5ae7f1ac1a98bd6519a6b41e58a045a3f162ce754f83a15595429657e8fdbac64f9432932cc6b7a3e7802db4fa8387eea8e35e5c528674978e5b02b95d7b9007df71d89ade28dc74b637ce03150a08bdaa1ae8c9e7403d5d45b5add20cd2475997e54054b7cb7152c3e64859471c655bf521c85a28d93f9e365294446452b2a969b15733140dd40a7ddedcd1820538c146796a70f1de5637d22301c844264cf0553dbf8433dda41197e473b7e373245dda9b8de8587d4565ac023c3baf5feac35037ddf2c18c255e8bdec8028646cf2e9702feed20d3a5d956a05adf966bc9a908bc83bab100ad52b74d28e2cbc5d30365cce33a76e2450ffe1c96f8f6220a4d786a92c328d4f4bbaa709b660b1eafb9713e6acd20019990b89710ac09c1224dfe7473a4dd24e04d8dea36c412234dce4913487acb8857ef5f1002432d87787fb1a93c25c74ed2c27aa08d47d1caeeeaae09d133c6a6ad0e184ddf89b56147051e6798a102b64b15889fb5d41340c3a8143583ca7aaa82a568f5f9546b46afefec6b200bfbe5fcb01682ed41bbaffa2b1fa6d130f52e0b216309cc217778d154e78968dd9f7ba68d33eac5c6f3468e7466a95bf10ad19bba1d5b5aff04854b22141d0a2fa7b39b1b52755984da92e19167bc7546803ecf03e830454050f307614b30682a779d5eee28793380fcb6ea46aab92f6f5e3ab906be91f0d6e36c401d6b104b36d362a077aee6c156f10070b8cce1cdcf6905de1379ca96fc447cac66af2cce4d89e81223b1a1237516481d9a79e7a772576944c394bed034fe170b91bc1a6d86dd116790a582955a34363e8e131a3d440f70a2fe6b0b3319f7a48749d2afa5fbcc841bb6b4dc6c2829fb053867ecdcd824b40be0582ee7aec1ce07134c46d8b091324e7a2596baf3e7e33548c33ac78282707d8b1b194c3acd4ba7d99ce841bf69c1a2b159211ce12b70267b7fc053402dccc8fc32e1bcc2993a901669a70e03bc8c345f9065a4a20b69e14053ec6732f8d741d17de6b9bde79d4c4b42beff995464394cd2c511c74589b45ddab5b169f8cdd531112a4187a749b73f845a3d534d025c50eb3259d45a07ca1ab8f90893b428d85c79db2270a6dbd3d0e09ae48f4b8e5469e231dd1d3313ab33799e09ef213fb168d41c80b9d0dff126470d925882f4cbfc10cda1abfad11a716eaf54e479121165ad4c8b9b7c4e73b6e8b5dd6619042c4d7f06613e38975df8884d6cc5fd5614d45dd58865f95c4903bceb91b9fd050199ca9ee309d21f9c402694c19448f9219d8a37d9e87b5062f6f1ff508ec16532f83b98511e05bc3655d36e1c185606dfcb0f38bac242628544e30861660678e2418bf8b5d0136ce2b44bfd7188ae4f21ad5599ca0fe8ab59cdab83e86318f59758545b38655de1b85bf223ffe4c75f95ac569ee6894016ee9be7439340d5af5b191bd6f134ce25ce1de8e05b4834e8bc69ac46215e69a529de37c318a0575f342ac1c3600d13887d3b9d65e164be1a824caa27722e004a74f663e1b8717c801de9e2079d8d60bb26abdf667cf0934bfb8a9e019485084afe8581a9e628471999c04c6e937c9bfd074098a675467bf71796181602b5aad50dfd15468ae6be0f89c685714a9ebe16e6c2fb545de91331d8a658aac3d110ddb1486a942baea5a089c7202f821e1eb9de76013f33600f7453adf36ea248c28cf618f58969e89c71cd94976b60e4cd57aafd21bfd0961a12594a60739777ae1a802efb14ae02cafcb95734008da1f32df42d0863067ad39680a261a09605b105bb554433d369b66a10fedd6370020976925e6c3a83b11d9e9b8dfad8a99a7f6e3c37c4f6e407c469385cdf50e82cc85ae58dba9f0611879930a2117b71479a5fc3bffa8d0f35d8f7675501bbfec7b7c4984fac154bb14f51b13f14238f34c727faaaf61cc9c9f2ef9ce6bce7e5fe8cd265a77e8a4da", 0x1000, 0x4840, &(0x7f0000000180)={0xa, 0x4e21, 0xb1a3, @dev={0xfe, 0x80, [], 0x43}, 0x10000}, 0x1c) perf_event_open(&(0x7f00000000c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c2, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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}, 0x400, 0x0, 0x8000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) chmod(&(0x7f0000000140)='./bus\x00', 0x100) sendto$inet6(r1, 0x0, 0x0, 0xfffffefffffffffe, &(0x7f0000000040)={0xa, 0x4e20, 0x0, @loopback}, 0x1c) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000080)='team_slave_0\x00', 0x10) r5 = open(&(0x7f0000002000)='./bus\x00', 0x143042, 0x118) ftruncate(r5, 0x2008002) sendfile(r0, r5, 0x0, 0x200fff) socket$nl_xfrm(0x10, 0x3, 0x6) 17:42:07 executing program 5: getsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(0xffffffffffffffff, 0x84, 0x13, &(0x7f0000000180)={0x0, 0xb43c}, &(0x7f0000000000)=0x8) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, 0x0, 0x0) r1 = perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0xff, 0x0, 0x0, 0x7e, 0x125c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x6, 0x1}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81e, 0x20}, 0x0, 0xfffffffffffffffd, 0xffffffffffffffff, 0x0) r2 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f0000000300)={'syz', 0x3}, &(0x7f0000000540)="f74df4083839f838e22613bf0864e1b6e9e8c8b3a8742ae955a0763db8320e4e8b041872f72c29597eef6bb0b652cf8d03cef42f71ab2a6123f9a306c5c442be24ba3c05c0547193f535d3bc74f631daed590b417b2d35ed53a86b98c94c14ca74687260e1e9b110b47e088968ca3bc3e814eda04d5e6e24a3af6fc5", 0x7c, 0xfffffffffffffffe) setsockopt$SO_BINDTODEVICE(0xffffffffffffffff, 0x1, 0x19, &(0x7f00000002c0)='bridge0\x00', 0x10) r3 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000400)='/dev/vcs\x00', 0x20040, 0x0) ioctl$TIOCGETD(r3, 0x5424, &(0x7f0000000480)) write$RDMA_USER_CM_CMD_SET_OPTION(0xffffffffffffffff, &(0x7f0000000040)={0xe, 0x18, 0xfa00, @id_resuseaddr={0x0}}, 0x20) write$RDMA_USER_CM_CMD_ACCEPT(r3, &(0x7f00000005c0)={0x8, 0x120, 0xfa00, {0x2, {0x5, 0x8000, "ef6ddebd7e2f5f95ae9851d09d3928637329fba67af94d20918633169bbc1f07137c33248024b32cb47499a064d5a03e039fca2850a13e1731dd61dfe71bc9ab1b9e6424cce191c83aaac9af722622dc60d3680907df170d819c7a62c2c2f2f3ca5757b065002ffeedf4aaa93cb2529039a3f2a9474edd42232e2420f184747c39ec81bfcbdc242c2527a41f7ac802f164d900917e2fac6284151689482b7e698bd720d48d51afcaa8cf2b028781e91167862c1e5b7659d5723df5da18c5e6c41b03e02269e62a1d5d62ff43f9b087f82e2cd110ee62b7bee94f829cea1b6d852ceed8194bec5b2338bb68512410135aeb00", 0x5, 0x4, 0x1f, 0xff, 0x3f, 0x81, 0x6e, 0x1}}}, 0x128) sendto$unix(0xffffffffffffffff, 0x0, 0x0, 0x4008000, 0x0, 0x0) sendto$unix(0xffffffffffffffff, 0x0, 0x0, 0x48000, &(0x7f00000000c0)=@abs={0x0, 0x0, 0xd0800e0}, 0x6e) r4 = accept$inet(0xffffffffffffffff, 0x0, &(0x7f00000001c0)) ioctl$sock_SIOCOUTQ(r4, 0x5411, &(0x7f0000000280)) add_key$user(&(0x7f00000003c0)='user\x00', &(0x7f0000000440)={'syz'}, &(0x7f00000000c0), 0xc9, 0xfffffffffffffffd) r5 = add_key$user(&(0x7f0000000040)='user\x00', &(0x7f0000000080)={'syz', 0x0}, &(0x7f0000000700)="dd02c50e9d52b2deb7d406cc9eab928b60cf2d6e651b3026968a9b84cad76fef608a85ac45bd4fa3f38dbb8c3f17f9cb0fd7197af893256286308171276909b38a2737e1a28d8c02f32da6ab6935384a9cf86cbca15d2b37a46b395b7fadcb46d0c33d89499d0f0e43a49766d52940ce0b4c1ac19f7f07a16219b95cadb06b90cc03095be313e3d73a182845c4c38ef36ef90227153641b0d004e959d5c7a524ee99a704b269b6f773fdb3b40d7fee1af754034193f5e7ece76ae120fb0c1900", 0xc0, 0xfffffffffffffffd) r6 = signalfd(r1, &(0x7f0000000340)={[0x6]}, 0x7) setsockopt$inet_sctp_SCTP_AUTH_ACTIVE_KEY(r6, 0x84, 0x18, &(0x7f0000000380)={r0, 0x3ff}, 0x8) r7 = add_key$user(&(0x7f0000000140)='user\x00', &(0x7f0000000100)={'syz', 0x2}, &(0x7f0000000300)="01", 0x1, 0x0) keyctl$dh_compute(0x17, &(0x7f0000000000)={r5, r5, r7}, 0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)={'wp384\x00'}}) keyctl$dh_compute(0x17, &(0x7f0000000140)={r2, r7, r2}, &(0x7f00000000c0)=""/83, 0x53, 0x0) [ 414.233848] BTRFS: device fsid 1ad3f776-ab8b-4799-9a00-a78524687b00 devid 1 transid 7 /dev/loop0 [ 414.291526] BTRFS error (device loop0): unsupported checksum algorithm 2 [ 414.298501] BTRFS error (device loop0): superblock checksum mismatch 17:42:07 executing program 1: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) ioctl$SIOCX25SENDCALLACCPT(0xffffffffffffffff, 0x89e9) write$FUSE_INIT(0xffffffffffffffff, 0x0, 0x0) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) openat$dir(0xffffffffffffff9c, &(0x7f0000002000)='./file0/file0\x00', 0x0, 0x0) r3 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r3, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) r4 = dup(0xffffffffffffffff) r5 = syz_genetlink_get_family_id$devlink(&(0x7f0000000080)='devlink\x00') sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(r4, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000005c0)={0x144, r5, 0x200, 0x70bd2c, 0x25dfdbfe, {}, [{{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x3}}, {0x8, 0xb, 0x6}, {0x6, 0x11, 0x1000}, {0x8, 0x15, 0x2b1}}, {{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x3, 0x2}}, {0x8}, {0x6, 0x11, 0xfffe}, {0x8, 0x15, 0x9}}, {{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x2}}, {0x8, 0xb, 0x80000001}, {0x6, 0x11, 0x3}, {0x8, 0x15, 0x973d}}, {{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x1}}, {0x8, 0xb, 0x200}, {0x6, 0x11, 0x137}, {0x8, 0x15, 0x6}}, {{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x3}}, {0x8, 0xb, 0x4}, {0x6, 0x11, 0xfc01}, {0x8, 0x15, 0x2}}]}, 0x144}, 0x1, 0x0, 0x0, 0x800}, 0x4000) sendmsg$DEVLINK_CMD_SB_POOL_SET(r3, &(0x7f0000002300)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000022c0)={&(0x7f00000021c0)={0x14, r5, 0x10, 0x70bd28, 0x25dfdbfb}, 0x14}, 0x1, 0x0, 0x0, 0x40000}, 0x4001) read$FUSE(r0, &(0x7f0000000040)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INTERRUPT(r0, &(0x7f00000042c0)={0x10, 0xffffffffffffffda, r6}, 0x10) [ 414.360271] BTRFS error (device loop0): open_ctree failed 17:42:07 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000000780)={{{@in=@loopback, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@broadcast}, 0x0, @in=@remote}}, &(0x7f0000000880)=0xe8) read$FUSE(0xffffffffffffffff, &(0x7f00000008c0)={0x2020, 0x0, 0x0, 0x0}, 0x2020) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket(0x40000000015, 0x5, 0x0) bind$inet(r5, &(0x7f00008a5ff0)={0x2, 0x0, @loopback}, 0x10) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000080)=0x14) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000540)=ANY=[@ANYBLOB="4800000010000507000000000000000000000400", @ANYRES32=r6, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=@newlink={0x50, 0x10, 0x581, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x1}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @vlan={{0x9, 0x1, 'vlan\x00'}, {0x18, 0x2, 0x0, 0x1, [@IFLA_VLAN_ID={0x6}, @IFLA_VLAN_FLAGS={0xc, 0x2, {0x1c, 0xf}}]}}}, @IFLA_LINK={0x8, 0x5, r6}]}, 0x50}}, 0x0) r7 = socket$nl_route(0x10, 0x3, 0x0) r8 = socket$netlink(0x10, 0x3, 0x0) r9 = socket(0x40000000015, 0x5, 0x0) bind$inet(r9, &(0x7f00008a5ff0)={0x2, 0x0, @loopback}, 0x10) getsockname$packet(r9, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000080)=0x14) sendmsg$nl_route(r8, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000540)=ANY=[@ANYBLOB="4800000010000507000000000000000000000400", @ANYRES32=r10, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route(r7, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=@newlink={0x50, 0x10, 0x581, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x1}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @vlan={{0x9, 0x1, 'vlan\x00'}, {0x18, 0x2, 0x0, 0x1, [@IFLA_VLAN_ID={0x6}, @IFLA_VLAN_FLAGS={0xc, 0x2, {0x1c, 0xf}}]}}}, @IFLA_LINK={0x8, 0x5, r10}]}, 0x50}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000002900)=@ipv4_newroute={0x68, 0x18, 0x400, 0x70bd2c, 0x25dfdbfc, {0x2, 0x0, 0x0, 0x72, 0xfc, 0x1, 0xff, 0xb, 0x400}, [@RTA_IIF={0x8, 0x3, r1}, @RTA_SRC={0x8, 0x2, @initdev={0xac, 0x1e, 0xfe, 0x0}}, @RTA_UID={0x8, 0x19, r2}, @RTA_IIF={0x8, 0x3, r10}, @RTA_SRC={0x8, 0x2, @private=0xa010100}, @RTA_ENCAP_TYPE={0x6, 0x15, 0x2}, @RTA_DST={0x8, 0x1, @local}, @RTA_DST={0x8, 0x1, @private=0xa010100}, @RTA_MULTIPATH={0xc, 0x9, {0x8, 0x2, 0xc, r6}}]}, 0x68}}, 0x0) sendmsg$inet6(0xffffffffffffffff, &(0x7f0000000680)={&(0x7f0000000040)={0xa, 0x4e23, 0x100, @dev={0xfe, 0x80, [], 0x1e}, 0x3}, 0x1c, &(0x7f00000005c0)=[{&(0x7f0000000180)="d7a647d6b0222a1881ab779b3f6850515a37315018454db1cc3bce8ff6713b55a09f2b4b49489dd4c4c4350aa84a87df9652b641736cd16d2eb6b7baeb1ce51d5d13e6c5361e868dd724ee771acb12b2c4cf1cc0a24e42f78edd5313981703b09b5f90a481670b0e88d0f4b8750e0e016f92dd36745c89436138839e0abd45bb84b12fcfbc0163927575ca82601d9502ec16c909e287e94a65f59d30a8e4794d8a322c3165391889d6777fd95f3eb661f9a8051ca686d0ea08f88246a8ee", 0xbe}, {&(0x7f0000000240)="30d1cf65652bf50e039a31b9142beef707cf67baadb59781be9e027903076247af9979e374c3df9805e2f190076e34e479ba8cecf7732b3d5953d79446b7f85bb9ed8208cafa654513478f08f55ca83cefcc25da80b72f90839ac915a5a83f70bd225af633c01dfbacf79c47f828e391c8a6a5cc776b55aa82ee615d808dc740b7281f1c4bfa4bd1c2bbbc3b2529d3cecec423322489326a18cf375e6e0f3b2ba048", 0xa2}, {&(0x7f0000000300)="56104dfc9210804643ed03815fd00e219f977d27e679459397585d4b95e54b80fe6857b6ae9ab0b56fe958187c0a2e398384e61ab3671a64334563f7cd9ac58ccf0941dbb2978e4335f9cccdeee0ac2885bcf72b54272b5e060217d017a049d7a14d66ee25c563ea9fc01b90d6f0f8939b11816974bde4315a897018b2424a5ef43ae95bbe2206987e6aadf483e456be68896a290d8ba078f328aba3187f517f3ad61ea3b8c7abd29e32a6789c0804", 0xaf}, {&(0x7f0000000440)="e1d11a312d0fedefd9d7092b8425e53102d4dadef0135c3e89c5664c4e21f4ff3e8ba4adb431d59b6a3caf4c82bb48cce0dc2bbe5d7919daf4e2514a755a22ae3b5cd7cbd11de4017915a475465c3c0adde2b40ea0aebf6a735df06043e760234b1b8c8982bc9be48d2fcca819acf6635bb3328ec3cd732eab138c08511dee2d1e0e719ab696d2ccfd3fddb229b4c75ba9d5", 0x92}, {&(0x7f00000003c0)="2d17f81580b770e808835ee794ef4bae92f4d1595c716f47b8360d8cebe4ca363a5f7695f5068bfcd21a0386ea8d3083a9a623", 0x33}, {&(0x7f0000000500)="93f15b2611864cebd5da7934469f3a2194ca33a85a2f868c660680e6089dd926e91d6f473f00ea026dc956d9edd1b0c0be06216942cfa0e960b65d0e40627747026e308fa6957c02d34658fee4f6a93fc4d839bc67f0a1d753e1f775a3ee223e", 0x60}, {&(0x7f0000000580)="008c05207d34b42266ba1425c89c44f6e6", 0x11}], 0x7, &(0x7f0000000640)=[@flowinfo={{0x14, 0x29, 0xb, 0x10001}}, @tclass={{0x14, 0x29, 0x43, 0x80}}], 0x30}, 0xc804) fstat(r0, &(0x7f0000000100)) 17:42:07 executing program 1: mbind(&(0x7f0000fff000/0x1000)=nil, 0x1000, 0x2, &(0x7f0000000040)=0x6, 0x6, 0x2) fcntl$getownex(0xffffffffffffffff, 0x10, &(0x7f0000000000)={0x0, 0x0}) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 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, 0x2, @perf_config_ext, 0x0, 0x100000000000, 0x3}, r0, 0x5, 0xffffffffffffffff, 0x0) socket$packet(0x11, 0x3, 0x300) r1 = add_key$keyring(&(0x7f0000000180)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, 0xfffffffffffffff9) r2 = add_key$keyring(&(0x7f0000000280)='keyring\x00', &(0x7f00000000c0)={'syz', 0x3}, 0x0, 0x0, r1) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') sendmsg$NL80211_CMD_SET_COALESCE(r3, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000580)={0x2c, r4, 0xe01, 0x0, 0x0, {{0x2}, {@void, @val={0xc}}}, [@NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xc, 0x3, 0x0, 0x1, [{0x8, 0x0, 0x0, 0x0, @NL80211_PKTPAT_PATTERN={0x4}}]}]}, 0x2c}}, 0x0) sendmsg$NL80211_CMD_GET_MPATH(0xffffffffffffffff, &(0x7f0000000400)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f00000002c0)={&(0x7f0000000340)={0x8c, r4, 0x10, 0x70bd26, 0x25dfdbfc, {{}, {@void, @val={0xc, 0x99, {0x29, 0x37}}}}, [@NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @device_b}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @device_b}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @device_b}]}, 0x8c}, 0x1, 0x0, 0x0, 0x80}, 0x4c00) keyctl$unlink(0x9, r2, 0xfffffffffffffffd) r5 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r5, 0x8933, &(0x7f0000000300)={'batadv_slave_1\x00'}) r6 = socket$unix(0x1, 0x1, 0x0) getpid() r7 = syz_open_procfs(r0, &(0x7f0000000200)='statm\x00') sendfile(r6, r7, 0x0, 0x800000bf) ioctl$ASHMEM_SET_PROT_MASK(r7, 0x40087705, &(0x7f0000000080)={0x0, 0xfc05f2b2}) 17:42:07 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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$nullb(0xffffffffffffff9c, &(0x7f0000000140)='/dev/nullb0\x00', 0x84081, 0x0) pwritev2(r0, &(0x7f0000000080)=[{&(0x7f0000000000)=']', 0x3fc000}], 0x1, 0x0, 0x0, 0xf) socket$nl_route(0x10, 0x3, 0x0) prctl$PR_GET_TIMERSLACK(0x1e) openat$fuse(0xffffffffffffff9c, &(0x7f0000000100)='/dev/fuse\x00', 0x2, 0x0) ioctl$CHAR_RAW_RAGET(0xffffffffffffffff, 0x1263, &(0x7f00000000c0)) r1 = socket(0x10, 0x803, 0x0) write$RDMA_USER_CM_CMD_SET_OPTION(0xffffffffffffffff, 0x0, 0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000180)={0x1, 0x28, &(0x7f0000000040)}, 0x10) r2 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000200)='IPVS\x00') sendmsg$IPVS_CMD_NEW_DEST(r1, &(0x7f0000000300)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)={0x64, r2, 0x8, 0x70bd2a, 0x25dfdbfd, {}, [@IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x1ff}, @IPVS_CMD_ATTR_DAEMON={0x48, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'veth1_to_hsr\x00'}, @IPVS_DAEMON_ATTR_MCAST_TTL={0x5, 0x8, 0x5}, @IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'veth0_vlan\x00'}, @IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'macsec0\x00'}]}]}, 0x64}}, 0x14000801) 17:42:07 executing program 0: r0 = openat$loop_ctrl(0xffffffffffffff9c, &(0x7f0000000240)='/dev/loop-control\x00', 0x8000, 0x0) ioctl$KVM_SET_TSC_KHZ(0xffffffffffffffff, 0xaea2, 0x9) openat$loop_ctrl(0xffffffffffffff9c, &(0x7f0000000040)='/dev/loop-control\x00', 0x21000, 0x0) r1 = openat$loop_ctrl(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/loop-control\x00', 0x101000, 0x0) r2 = ioctl$LOOP_CTL_GET_FREE(0xffffffffffffffff, 0x4c82) ioctl$LOOP_CTL_REMOVE(r1, 0x4c81, r2) ioctl$LOOP_CTL_ADD(r0, 0x4c80, r2) ioctl$IOC_PR_PREEMPT_ABORT(0xffffffffffffffff, 0x401870cc, &(0x7f0000000080)={0x4, 0x1, 0x0, 0x2}) 17:42:07 executing program 0: prlimit64(0x0, 0xe, &(0x7f00000001c0)={0x8d, 0x4000000090}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x1, 0x0, 0x0, 0x8}, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) recvmmsg(r1, &(0x7f00000032c0)=[{{0x0, 0x0, 0x0}, 0x6}, {{&(0x7f0000000680)=@pppol2tp={0x18, 0x1, {0x0, 0xffffffffffffffff, {0x2, 0x0, @private}}}, 0x80, 0x0}, 0x1}, {{0x0, 0x0, 0x0}, 0x80}], 0x3, 0x0, 0x0) pipe(&(0x7f00000003c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$inet(r2, 0x0, 0x0, 0x4080) fcntl$setpipe(r3, 0x407, 0x0) write(r3, &(0x7f0000000340), 0x41395527) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) sched_setattr(0x0, &(0x7f0000000080)={0x38, 0x2, 0x1, 0x0, 0x3, 0x0, 0x0, 0x200}, 0x0) mkdir(&(0x7f0000000540)='./file0\x00', 0x0) ioctl$BTRFS_IOC_QUOTA_RESCAN_STATUS(0xffffffffffffffff, 0x8040942d, 0x0) openat$nvram(0xffffffffffffff9c, 0x0, 0x0, 0x0) setsockopt$inet_sctp6_SCTP_DISABLE_FRAGMENTS(r3, 0x84, 0x8, &(0x7f00000000c0)=0x6, 0x4) clone(0x100103, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) write(r2, &(0x7f0000000580)="5ddc5cee2ed3c9759f4caafe5220c3a8c8443f0d6c3df4dc9d7a207f26f796df018863f379a653382d7fab296c13e086de2d3e897565d38f4edd2748bd9687efc8bb5009fabab5a591b2ce3e1fbc3e76a4cfc9960badb944cf32f417e80b8e98d65c3581714dbc7540b1b0eb31ee8f907d82a93ee6eb25009ebaf49c9a0c869e520c9d9c64542bd0879ab0dea6d6046cb0efbc84a867c7eeef9755bd1b5937605e8ce2a1ffa7e236", 0xa8) r4 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000100)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000440)='fuse\x00', 0x0, &(0x7f0000000300)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r4, @ANYBLOB=',rootmode=00000000000000000060000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0, @ANYBLOB="2c00701afeb8202577181f867f04000000000000aa10802b4cfe27c6"]) sendmsg$L2TP_CMD_SESSION_MODIFY(0xffffffffffffffff, &(0x7f0000000740)={&(0x7f0000000480), 0xc, &(0x7f0000000700)={&(0x7f0000000240)=ANY=[@ANYBLOB=',\x00\x00\x00', @ANYRES16=0x0, @ANYBLOB="01002dbd700000000800110000000000050022000000000008000a0001000000000000000000"], 0x2c}, 0x1, 0x0, 0x0, 0x41}, 0x0) 17:42:07 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='cgroup.controllers\x00', 0x275a, 0x0) r1 = accept4$inet6(0xffffffffffffffff, &(0x7f0000000040)={0xa, 0x0, 0x0, @ipv4={[], [], @empty}}, &(0x7f00000000c0)=0x1c, 0x80000) getsockopt$inet6_mreq(r1, 0x29, 0x1b, &(0x7f0000000140)={@loopback}, &(0x7f0000000180)=0x14) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r3 = socket$pppoe(0x18, 0x1, 0x0) connect$pppoe(r3, &(0x7f0000000000)={0x18, 0x0, {0x4, @random="000000000400", 'lo\x00'}}, 0x1e) sendfile(r3, r2, 0x0, 0x200) 17:42:07 executing program 0: socketpair(0x1, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) bpf$PROG_LOAD(0x5, 0x0, 0x0) r2 = socket$kcm(0x2b, 0x1, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000200)='cgroup.stat\x00', 0x26e1, 0x0) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r1, 0x89f2, &(0x7f0000000f00)={'gretap0\x00', &(0x7f0000000300)={'syztnl1\x00', 0x0, 0x7827, 0x0, 0xff, 0x2, {{0xa, 0x4, 0x3, 0x1, 0x28, 0x66, 0x0, 0x8, 0x29, 0x0, @local, @local, {[@timestamp_addr={0x44, 0xc, 0x4e, 0x1, 0x0, [{@multicast2, 0x800}]}, @generic={0x44, 0x7, "8c2ca2de14"}]}}}}}) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f0000001200)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000011c0)={&(0x7f0000000f40)={0x24c, 0x0, 0x300, 0x70bd26, 0x25dfdbff, {}, [@WGDEVICE_A_PEERS={0x230, 0x8, 0x0, 0x1, [{0x24, 0x0, 0x0, 0x1, [@WGPEER_A_ENDPOINT6={0x20, 0x4, {0xa, 0x4e24, 0x5, @empty, 0x3}}]}, {0x138, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x110, 0x9, 0x0, 0x1, [{0x40, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @dev={0xac, 0x14, 0x14, 0x1d}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @loopback}, {0x5, 0x3, 0x3}}]}, {0x64, 0x0, 0x0, 0x1, [@ipv4={{0x6}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x1, 0x0}}, {0x5, 0x3, 0x2}}, @ipv6={{0x6}, {0x14, 0x2, @private2={0xfc, 0x2, [], 0x1}}, {0x5}}, @ipv6={{0x6}, {0x14, 0x2, @empty}, {0x5, 0x3, 0x3}}]}, {0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @dev={0xfe, 0x80, [], 0x3b}}, {0x5, 0x3, 0x2}}]}, {0x40, 0x0, 0x0, 0x1, [@ipv6={{0x6}, {0x14, 0x2, @private0={0xfc, 0x0, [], 0x1}}, {0x5, 0x3, 0x1}}, @ipv4={{0x6}, {0x8, 0x2, @rand_addr=0x64010101}, {0x5, 0x3, 0x3}}]}]}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "25df21b0eba996a0fb9eee92ec063f1d27075e9a64ffa0f59a2f63c6e5856724"}]}, {0x6c, 0x0, 0x0, 0x1, [@WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0x9}, @WGPEER_A_PRESHARED_KEY={0x24, 0x2, "e61f0a35b9b10daf7d0a69696b38f792e532c0ba169de2d8d450cdf2385334fc"}, @WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL={0x6, 0x5, 0xf7}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @neg='\xdb\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'}]}, {0x64, 0x0, 0x0, 0x1, [@WGPEER_A_PRESHARED_KEY={0x24, 0x2, "4666134739810046b3c8a4d9974c5ad7bf231fc26d8a0fb42c0777a712d7de73"}, @WGPEER_A_FLAGS={0x8, 0x3, 0x2}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_PROTOCOL_VERSION={0x8}, @WGPEER_A_FLAGS={0x8, 0x3, 0x6}, @WGPEER_A_ENDPOINT4={0x14, 0x4, {0x2, 0x4e20, @remote}}]}]}, @WGDEVICE_A_IFINDEX={0x8, 0x1, r4}]}, 0x24c}, 0x1, 0x0, 0x0, 0x4048001}, 0x80) r5 = socket$kcm(0x2, 0x200000000000001, 0x0) getsockopt$netlink(r3, 0x10e, 0x4, &(0x7f0000001240)=""/238, &(0x7f0000001340)=0xee) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 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, 0xa) r6 = socket$inet_icmp(0x2, 0x2, 0x1) ioctl$sock_inet_SIOCGARP(r6, 0x8954, &(0x7f0000000000)={{0x2, 0x4e21, @broadcast}, {0x1, @link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0x2}}, 0x24, {0x2, 0x4e20, @local}, 'erspan0\x00'}) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x20004000) sendmsg$inet(r5, &(0x7f0000000080)={&(0x7f0000000140)={0x2, 0x4001, @remote}, 0x10, 0x0}, 0x200408c4) setsockopt$sock_attach_bpf(r5, 0x1, 0x3e, &(0x7f00000002c0)=r3, 0x4) sendmsg$kcm(r5, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f00000003c0)="6c7db44714fc8cc9f40ccf1e201b1c851ec6bb0813390ecfce8f80b3a27dec01afe645ec31187af807275701ced2d55e9edb4166d052052fe22766dadff080eabe67f788244a331e79022769337794a0d542428f592ed17399d38a566affaa8dde0e68c24f65a8c6b3792fb69716e67289889e38e5f1801aed2ee823fb3286962f38255ce0571390ced12be7528c1e4e801c2d470b9dbb6e8e31ab4dca9d423b4b0a8815f343c5d140ec9145ef944213d7ab700a5d0f38f39407fe84bcf3d29938816161f010ab8fec9f8193385d5dd2442ceb87aa986166cd0550ddb3aae9286e82753288ef072fea76d51c041ff8fa487d3756b78b52101a165f3c1b6110875049c4e013bf397b8e5f2bb4f9a580c29b497f14c39c22cdd6ddd3ed9341b2ee747f943109545e22ce8df6c5dedd6f073028e72e0b5bdeb1e07888978ed592046e5af52a821f9ae6acf08e26df0d25f6b714e720590b2fa5a873f7dc19ecd696a39ed2c70ba941bc387940edc6b443bc67e3314dacfcd5dd073387bbf52fce2bb06699416e90201513fae3cd4c8128bac879538dec97d30a5ee664c3eaff0d3a9a8975f5f15ec4bcd11eb5abdb4bff7b7fb29b2a986af85f1e3743dcd04f6e1fcc30df4d86840bc616585d2819756813fbd0d14191b8e90316757dc7a4ad0fe3c84582bf9c56b63c72bd4b09b7f0ca9ba0e22b30e12c978265dc43d1b7a360818452b3ea81d3700621d24b2ed5c3482efa256e8d805c4801628f4cf82c6249b8ab6435d3da8bd2f7270547acc5b661e43cdca5650f07ae7ff6a90d357049052e7bcf1d99b316f94db502b130c307706d81e0aea606ed72ff18243b26575e0c91736b5bfb1de6d423b2779117f73671f55d5ea6e50019780f4bb92de36ab3b6f3a3adcf636526f4dc045e35568dca8e6c07f1cc699474c0033c79d5c3becd6ce721c00278d81fb64d0d8650973b7e9fe27ddc19cf23c3d15d8f5c741faa85d9dd89e774ea904131abd84eeedaf2b6c1f8a76a69c53f079ef9f4fe7b585ba00b974c202db198a448b8d5425dd054c2fb8f00f58c8e5d57c4446d1e0a15a7f92c16a528f81e74a6fed76ef7223365f9b7382cf55d11fabac6050d20570821a75c80af5c875f9e2bec34a1e42284568a358de496ecdf6b3cf29ffd78e2fa57afded066b10e2e54163799f5cbc5115469444dabb325d52405271464153fcd92d48fc1b746c0c2664068015f43d835ccd720a7dbf2801e973fb3aa0185652559aa24e674f190b0395f3c469c427f0bc0dabae71b8adcdabe44d8d4558cf5c32c20cefdc7fc1c4f892e5b6df3cba0b4d0e3c323fb09e15c8407c55ec004626a83121442804fa32478658009d6d0493bd4ed4241c0ba3421e6651e39de6009e30ac0e2725e40acd8555f1cb2f4d8ccc8da835ad4119fae19496bafa79f390548cf61fd951976eb7eec2114966323c9e661a774abc8415391896c061d0eb2d3f382d41984690c42e4960680dd5d6b49707e8aba5851809d1817872f02aa1eabc732656efdd2675689352278645c488299ea214a7fb292e2ef5bec989c76399c7cb5b5eac8a05f9da7a8950b49e7af431490da0289e726d3401eaf41cb90ab3c0597158fcb0c10c55baa6a36dbb048322adcba8e60c21a579fb8e8de32efaa78ef55c50836b639248ff1b8918ed706bdb9cb9c8e50dd75a3223dfc2e74912ef2f713dd75378f5605fe42582b78d6521c5aa0f50772a12735a43df075cbc304b4b3ef8be1e5ee901e9a48db42239713b797ae982de9632baa414c1662582cc99b8a96466a7c9414188638ffb9bc2eefd140c66f437b7232450f41be7fa3f2d743736b3a84fd933d2be3d2ba17df6cfc8dc6aa44ccc0eed2d282eb35ff74dcd9c4a410892106787e3235bc603f044408efff8a2df56ef35ff6b4e1fa67e683675d2a931638f0a7abb0579659c40794986c02766cee17bdfe7098616f9a19693eb865bbed5bb1e66e85726c0be4e2afb3309290cca37462f9ef31979c093353924389d9bb8bf512d048abb6ef81d3fdb5bccc599913b4e9dc0f489419ccf5a316d34f8d5a5e46969d380962a5fd8eb86a63becf348450290f759c3ef5032dfd3b777604c4db7c6432d76f037937120e420f748ea972fd70cb6bdcde20af97b08dd7e3b87d95f4e6807b346fa8835524cc7e6c6d596a668575719c8efe5e79c190595552dbb2c4cb1556be74c1c855743c131761ae7b45b8c85f1248f1f3f54075e097878cb62a019baa28e107e7f34da8a29e286b5e33a627977ba16b07de3e4a50bf6087c30ee5dedde2d6f591ca094c4dbed107c20131fa3c39c39d77d3b9688cefd68ff1572400e2079ee24cf884b3af36ef7545ac3283869df99b0d8e015a7a62f8feca76dbb98225531001667cd52c2dab233a3e87f5c0a3984e8cf80c9a3171824362b3148784b7dda062b4a5e62a632a8fe4456c6ade56b8a4718e39f46ffbd45eff9160ef6b200774d0b3752f66533093259d97bbd28f58e1ab26bc8631653996e02936945a5c9570ae879d6d46a28047cd736a89a2b8309e1c148416c49149e291f9bd8a74b3f5ba7634cbdeebfa4a5a4d53eb00ba94aeea8d8b5928f002a342936ad6d762a7ed8b158b09f70d8e30b4761a55acdcf63e446013bde83238e492e7f348bfadd07b5a2835ce0f8b172ea40235402bed1fa1559983a24cc0b9f95505563e5ddd0ff4da7ce3d0472e3633a250df29f682ce3c9d5628d14857bfc0117cbe2b65b942fd399f5297f0590590ed6dbdd6d16e6420bbf684cdd9ffbf44e313e1e9374c56fd5c562090799da8de705b20b28520e52778b9ccf35d4ce5508641cbb3f2dc4b629c8720426a87ffc777d2628a502102bc10a82446b8b93f0ebc88386edf67887ed9b5a9dc79538bfe4d4bca0646ddef766266529d70bdd4fdde8d6310a293055e2e2cd47ee7d493c5ce33bb093227b2a9f9e773704354efbe25d7b186c270be0ee6fc9bcd699d7eac1540043541b441c89d22c519e0dbc50bc6a95d9ad1e04c9fc19a84e03b55a0924ef86c69b95c3cced9d4eac62864def2e068cd4b97e961e169ab0ebfb5642267759bbe1e9e6f2600e7d0bd59b0dfb5c2eacd517bd31e64d52491a3d174e77f2a1e4423e5c2e05bae0518dd9ce8afba8c54fb529bb4b44459b18500d11a98d0c707e445dc257110f3742f0f881c687338cfc88020948cbec873703e7fa2933b5b9632744f3a8fd6e66f2b887bbccd7ffe91eeae1c0d767513be7724f972e6646349fa0f2d2e82ffd70bd2c2440debd5ce61015f528afdbb8fd8160b38c7d4e863e224f9ceeff94caacfbd66c9eee3a9f2c56093aa74532e2779ad5ca3d6968583e4c36e6d5852c8a0ba0db922ffced7148d3f7699909e49b17724c03360835b0cd93914e73d8911eabbd61e9aa4cd9f832348b5f7dd6c52f6440ea0c9b122af38403453ce052c984c6ff50537afb80765fbdf719581465db11673d9b4663f0f6a390423fd58ca5da836374e8c03accb1212118ce393925cb6d73ae6ed2800de5e8f893c7e88d3569af335284c92d49226cc5d23a2b93465ea70580057b7539b1688aff177a362c85b1e9c4287d762544cd8545dd9087d8c0f86c2c379d5c15e6d6b4fc4808a729730094344fef9322b47762ae3477a84805c2d2b633be1b6c9462a81b3e47270253349a5096985ad256ea4add8ebaa3a5be931f0ffd050eeaa20c528ebe4cb77103fd09df3155c16a5420b1c314dd4e1d1a25563e932758acd24605845bc768014ab18c9c231f134803a993c4ab67a43e840168f55066f38926eb6de51e81f90154bddb87ee31da1e0d510f2ba163fc33a7e480bc36ed42d651da5ff15b249c20efbd4db8cb9902b4bd614969ff4dea4691e42ba1889e2a43f1a0b7f7b453fcf61358ac1010e5206f3bec65dd5d467eab5bf4601f5deb1b43b07c18b7bc112df354dbb2db1b0366d1585e3da2bc5950738ecedc2", 0xb07}], 0x1}, 0x24048081) sendmsg$kcm(r5, &(0x7f0000001400)={0x0, 0x80040200, &(0x7f00000025c0)=[{&(0x7f00000000c0)="b8", 0xb8830}], 0x4, 0x0, 0x0, 0x40020000}, 0x6d70) bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000380)={0x0, r2, 0x0, 0x12, &(0x7f0000000180)='sy\x84kalle\xf4\xeb\x0e^\xccr\xdd\xe1J\x00'}, 0x30) gettid() 17:42:07 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c5, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f00000002c0)='nl80211\x00') pipe2(0x0, 0x0) r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000400)={&(0x7f00000004c0)=@newlink={0x3c, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @ip6erspan={{0x14, 0x1, 'ip6erspan\x00'}, {0x8, 0x2, 0x0, 0x1, [@IFLA_GRE_COLLECT_METADATA={0x4}]}}}]}, 0x3c}}, 0x0) ioctl$sock_SIOCSIFVLAN_ADD_VLAN_CMD(r0, 0x8983, &(0x7f0000000040)={0x0, 'netdevsim0\x00', {}, 0x1}) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000000)={'wlan0\x00'}) sendmsg$NL80211_CMD_VENDOR(r1, &(0x7f0000000140)={0x0, 0x2, &(0x7f0000000100)={&(0x7f0000000200)=ANY=[], 0x24}}, 0x0) socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000840)=ANY=[@ANYBLOB="3c00000010001200000000000000000009000000503bd15551cf1dc4803f6f0e315518beff1cce25e31356f622432dde8a77f0a726ee4dae2fa27e8a17cbf7b69079fd6c538013d6a9d945466b916e023c64ce5670ed50e2cf5e9eb7134377c2786f4853fcd804364e5b59cdd54dc3a599dfb84792ca96bc7345961f75f546f311845dce44453d1879dfb9e516ddbfa1c8b198f924c6a04e81f8f527fd508374184cf3e8485e34af454001c772e3eb190b355fa572eab84f34f6927bd5ef722b7dfbdd3fe852980a983cb3d851c4aea0a5842dbcf924ee6db2aa9272d66a384d17afd6ff40dba8eec3b118483d4adc52860f170d336499b4b48e747aa597778b5b71b728e21cccba194e550bef36b297150a1bbbfc719af60e516fadcf6ff42b066569e5544b80d3e893ec77154497603ca553e38972193979727cffd20f41bf9a41f9e8426a4e44ccf83926e40149b14d0e1ec464d5a5f79bafbd9f6bdf00498af5eded9a9440200f68a9bcf7d1098ab3aaa7d17eb34bf22a5a142f14a3a8ddae85975df775cbc5ec8a8746fff259ec46cf63437eb40ac2e33d9def60742578f103d5", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012801400010069703665727370616e0000000800028004001200"], 0x3c}}, 0x0) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, &(0x7f000095dff8)={0x1, [0x0]}, &(0x7f000095dffc)=0x8) r3 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r3, 0x84, 0x72, &(0x7f0000000000)={r2}, &(0x7f0000000040)=0xc) setsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(0xffffffffffffffff, 0x84, 0x72, &(0x7f00000000c0)={r2, 0x2, 0x20}, 0xc) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000000640)) ioctl$BTRFS_IOC_RM_DEV_V2(0xffffffffffffffff, 0x5000943a, 0x0) ioctl$BTRFS_IOC_SNAP_DESTROY_V2(0xffffffffffffffff, 0x5000943f, 0x0) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000100)={0x1, &(0x7f0000000080)=[{0x6, 0x0, 0x0, 0x7ffffff9}]}) kcmp$KCMP_EPOLL_TFD(0xffffffffffffffff, 0x0, 0x7, 0xffffffffffffffff, 0x0) 17:42:07 executing program 5: syz_open_procfs$namespace(0x0, &(0x7f0000000080)='ns/uts\x00') r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/meminfo\x00', 0x0, 0x0) r1 = syz_genetlink_get_family_id$gtp(&(0x7f00000000c0)='gtp\x00') sendmsg$GTP_CMD_DELPDP(r0, &(0x7f0000000180)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x8000000}, 0xc, &(0x7f0000000140)={&(0x7f0000000100)=ANY=[@ANYBLOB=',\x00\x00\x00', @ANYRES16=r1, @ANYBLOB="000426bd7000fbdb5f2501002000080005000a01010208000500e0000002080004007f000001"], 0x2c}, 0x1, 0x0, 0x0, 0x4040}, 0x400c811) 17:42:07 executing program 0: r0 = syz_open_dev$sndmidi(&(0x7f0000000040)='/dev/snd/midiC#D#\x00', 0x2, 0x0) syz_open_dev$usbmon(&(0x7f00000006c0)='/dev/usbmon#\x00', 0x0, 0x0) dup(r0) socket$tipc(0x1e, 0x5, 0x0) ioctl$SNDRV_RAWMIDI_IOCTL_STATUS32(0xffffffffffffffff, 0xc0245720, 0x0) perf_event_open(&(0x7f0000000140)={0x1, 0x70, 0x0, 0x6d, 0x0, 0xf7, 0x0, 0x41bf, 0x40a8, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x4}, 0x86880, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x6, 0xffffffffffffffff, 0x9) clock_gettime(0x0, &(0x7f0000000080)={0x0, 0x0}) r2 = syz_open_dev$video(&(0x7f0000000100)='/dev/video#\x00', 0x9, 0x0) arch_prctl$ARCH_MAP_VDSO_X32(0x2001, 0x1) fcntl$getflags(r2, 0x0) pselect6(0x40, &(0x7f00000000c0)={0x300}, 0x0, &(0x7f0000000000)={0x1ff, 0x10000}, &(0x7f0000000200)={0x0, r1+30000000}, 0x0) 17:42:07 executing program 5: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, &(0x7f0000000040)='./file0\x00', 0x0, 0x1009, 0x0) shmctl$IPC_SET(0xffffffffffffffff, 0x1, &(0x7f00000003c0)={{0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x120, 0x20}, 0x0, 0x6, 0x1fc, 0xef4, 0xffffffffffffffff, 0xffffffffffffffff}) socket$nl_generic(0x10, 0x3, 0x10) sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(0xffffffffffffffff, 0x0, 0xc015) setsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, &(0x7f0000000080)={@remote}, 0x14) sendmsg$ETHTOOL_MSG_CHANNELS_GET(0xffffffffffffffff, 0x0, 0x0) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 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, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) pivot_root(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)='./file0\x00') socket$nl_generic(0x10, 0x3, 0x10) ioctl$PERF_EVENT_IOC_PERIOD(r0, 0x40082404, &(0x7f0000000300)=0x43) openat$full(0xffffff9c, &(0x7f0000000180)='/dev/full\x00', 0x2000, 0x0) socketpair(0x1, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x32, &(0x7f0000000100), &(0x7f0000000340)=0x4) ioctl$RTC_PIE_ON(0xffffffffffffffff, 0x7005) epoll_create1(0x0) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f00000002c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f0000000280)={&(0x7f0000000540)=ANY=[], 0x60}}, 0x20000004) sendmsg$NL80211_CMD_CHANGE_NAN_CONFIG(0xffffffffffffffff, 0x0, 0x24048801) getsockopt$inet_sctp_SCTP_GET_LOCAL_ADDRS(r1, 0x84, 0x6d, &(0x7f0000000600)=ANY=[@ANYRES32=0x0, @ANYBLOB="b90000f133bd34326be1430d5c8363cf0e4697d71d8e0484e50242d9ca7285580f1c2f039a47b946c0f16e0a8fa5df71601fc3a1b27dec797caba8d4876a80679a4fac9f813471ef018d47e30947d397dcccfa1e5ed4bb4e33bdaa3784a4dfead428926f2a3d5964105a8910db77258236cd091ace3ab2351937c93a5a72569fb97794bec8a98cf0120491a23ecb66c55b9e4850c1ec4a8b4c157062117901d5115a9aab2d09e928c740f06bab665146eae23ca1fbbc60e16ea6204865f737a9ae9ab27cb112a895ea84b963fec5838d787dec3b47a912d9b91772716622d99c83d78ea616a84144556dd2fbf16bcf262ecfeb53c550993e87f33250b8a1af85bc5400"/272], &(0x7f0000000240)=0xc1) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r1, 0x8982, &(0x7f00000000c0)={0x1, 'ip_vti0\x00', {}, 0x1}) 17:42:07 executing program 0: setsockopt$CAN_RAW_ERR_FILTER(0xffffffffffffffff, 0x65, 0x2, &(0x7f0000000200)=0x935, 0x4) mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/fuse\x00', 0x42, 0x0) mount$fuseblk(&(0x7f0000000000)='/dev/loop0\x00', &(0x7f0000002040)='./file0\x00', &(0x7f0000004300)='fuseblk\x00', 0x0, &(0x7f0000000300)=ANY=[@ANYRES32, @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB="2c67726f75705f69643d4c5dd9315c4c888eca1c3233e3dcce2f4e7831a3d7a3b9031383c6667f4d39267cfa8e1ef146ce98d5", @ANYRESDEC=0x0, @ANYRES16=r0]) umount2(&(0x7f0000000080)='./file0\x00', 0x0) sendmsg$NFT_MSG_GETRULE(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000180)={&(0x7f0000000100)={0x48, 0x7, 0xa, 0x3, 0x0, 0x0, {0x1, 0x0, 0x9}, [@NFTA_RULE_ID={0x8, 0x9, 0x1, 0x0, 0x2}, @NFTA_RULE_COMPAT={0x24, 0x5, 0x0, 0x1, [@NFTA_RULE_COMPAT_PROTO_BRIDGE={0x8, 0x1, 0x1, 0x0, 0x8864}, @NFTA_RULE_COMPAT_PROTO_BRIDGE={0x8, 0x1, 0x1, 0x0, 0x60}, @NFTA_RULE_COMPAT_PROTO_IPV4={0x8, 0x1, 0x1, 0x0, 0x67}, @NFTA_RULE_COMPAT_PROTO_IPV6={0x8, 0x1, 0x1, 0x0, 0x3b}]}, @NFTA_RULE_POSITION_ID={0x8, 0xa, 0x1, 0x0, 0x3}]}, 0x48}, 0x1, 0x0, 0x0, 0x8000}, 0x20000000) 17:42:07 executing program 0: r0 = socket$kcm(0x10, 0x2, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x40082406, 0x0) r1 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f00000000c0)='memory.stat\x00', 0x0, 0x0) sendmsg$kcm(r1, &(0x7f00000016c0)={0x0, 0x0, &(0x7f0000000380)=[{&(0x7f0000000140)}, {&(0x7f0000000280)="d183d8a1ecec09b2bb622780fc84d2ac30ce1aaa6359d243928601bc1edabeb761407b8c86dd4382d77c6d5fa19f81a813e2b38b9ec016f087dd8301000000000000007f4bceeb0035ab0acd14a411c5ac04a687a5223c6e40246d45a8ffc71d14dd3d00000000000000000000366ac2b30ca7fc5d82a51ffcad183eebcf78cf8eead4854fa146a4fec145ec60c91a984423c9f672f03f2f896b6800"/187, 0xbb}, {0x0}], 0x3, &(0x7f0000001740)=ANY=[@ANYBLOB="000100000000000013010000d21b0000a623df77d5ceb3338832bb71cb049df428bd92e3e8439ae933577f0593e781f8988a1698e05819c88267a335d652fdaffb7099cbf449646fe3388e9fc99cdbedaca522d32e0244d10431bd8c706b35dbfdf8d7a0cb6df1b9507568288e3be8729c800b789010e7b14fe5b34f3d2a7a84d45e7505df2c791c10fb8fde04befcb06fe14e5d77418868cbcdce86899aaf19875e92070d6c81415af50f6e41a0e604e9eba371ce652588fc33049a658ad870db528855dde2ba8b9979112a91c55dbc6959e97e9d424727d517d560a61abe366cf86af41a7aa1a956ecbb66267fb00b8790c1a8cdae8c45aa0000000000000030000000000000000c01000080000000e693a93352ad1d8171f3bc3e93e0b37618c339c279da97d7ee000000000000008800000000000000080200002f740000aece6a0e9d0f1a73072c18fa81f9a48f51795ed8f27015ffbbf084515000a98ca5163fa8129ce96578729740f698a596cf6074b84580d295a4ed25155bacde1f57c2ef031b1c0fc491f476b5241630ec6008e58b72d12932ca9698c6b4353dfb626ab9187afce3a2dcbb223a2b9c3aa60bad320000000000a80e000000000000010100000080000084da4c18166ce753bb5cfacef86d6ce6c185096e11ab6520ada734b7936c85468ee51ab46eeb70ab49c84e659434911618c3e5e4ab2e4e587f85294df6adc5aa2e48c26cc539f1d92fffcab7a53f6ceb53d462c14a09e7ce963abf9a973c2082b86a46e4b3ee79b70cc1cbad299a3efc3bf5852c0062a5efc0fc2b8c18c8f9ffcede602bae6d708cb89183301c06bd5f9ce610592801d7af44c3e0ccc74eb58aae45ff2c779c9aca8440a6a9313d67b1f01ac85193960b98a3532a768f7d4ab20f8e8a8412c3aafaed3e2c74f893c0b1533ad9a0f43d51cd6890c8dc7a253ae920f04573404402a6aa98e499b11e091ea6502e387ce9aaa8c3753f67d6e5572f3ce936843cc7d5aa43025b6ba84066bd2cd9b82fd3a2066164e5edc02bb4d6c6cf40224bb539817cf50e4e4f75c9d97eb182ff955618415c66b0eece169fbb22d7c0919371f1d91d8d125125b1537cd1e5df780483d80223bfc2a9fd0a535cee5c4690a0552bbd5ee65a73821472d4f770b28d7e0d38659ea85f8f8158519182344e1a8c80836a6bce40bede4e5878695fb16355c443c279d29f4932fe87145b6fb75a188540fb58a8e85331462626a7fbc445bb1dfceeeaca2dcd4cbf70e67a4ed98040c32bd7023048e9fad604359032e2242f7237d906a7cb5d8436e797dcce63fe6b946af375e4987c28e55fb1adbb4a230f09d90ab6dbe89446036b37841b8af20af39e24d544fe1c4a1508e96d29b01449df5101c4998e806a57fc1e9bb89f54d970a57ab8248263638b3486699401f8fe828d1593d7f51053d135dd229f7d7ea7e50acc495a2da0cf3c5a38338af6d7d16ce83041146fe221b01df601ac32f78f716b2bbd7fb991a16a77391e7365b4a24cba4b6b061b1106ef99b962dc8b67fc697de3ae67f7c523b5ea67a9461932c6bbcedceaf1f78eb58b1403a6b1221e288eb61cf1799c57ef716b72682fd178a4226c0e92936883eb6e66a8df1241a8f8a997b3fbac96dbf6e7fe6d216fd40680a2691b97fe5cd501c2d003046e930dd39ce2c491972afb7a8af44733c2dfbc276c6b1a3739c46544769aea5ff2bb769aaca4a38ef78291c584691c279ee3db86a1ff36c8286f75acc860bbf9fcb335270d894cef02c60378fe18ad72d6923f4816c173e249ec5ede89c61ea75ada7539428534bf2cbb8fc272db538473cdb5fa918fb290be999577b4938a741cc17b1499429374436fdb8a6216db22db6461cb3177cc90a36d7abd55403e085e95b16adbcd374179546a86d0c8176ae5dc21bd14abd94a5f56c6dbc3710c3f6ad7aca3b894ec69fc431d400807e6e8852a27a20191d9dbb422996142cd59cfaec072ced0dfcbf5ec06ea975d425d19919fbfb5310e355c5a3c1733477881a1708a6186040dd5ead8bd3a245a3b3963b6d1e8d2165e5c9631e15cfa019f50b7eb1cf7416868c4c2208cf6ab6a9d42e523387694969a8f6ebbc4ce51356ae56b011f249fb278026710126a4bb0fef0eedc20e3a75fe68ff3bb5f4a396095f47cd5d5fdd4b30a37577bc615433d3a74daf27dea7e124c3b0fa7c001922da95f6e0e65d8a998b664f78fdbe4ab809d01b325310a5a669b062c03c3da328681b194c22f3ed170ab30f01307d006f1dcaad20a579434f8f1610e368aa83cbbadebb6e7638406c8e1f5347800250236fba4963642a9198ce9d500d8de65cd5eff09921b7db9980d2d4f599546c303d97cebcc356363be881c4bd110fe0dd93116a53aa5f89b2932151f9d541f60cc1daf22c7bba2511c54e0f7c6e16773c6385de1eb85d5fa77893250d63288d1cd657407808964c11aae77fa582aa3776411137c5426cc30202b49953c0496bbb550a28c543f079fc708cd0f01c4e6142d1cb4025e81eaf37f892378271db7dad42ea8c9b75b92fc6a40cd41701be00a8bde289a669568179623b6db3291398585fe4ad1fe52eaec79a9cf7e8d670487ac0b3c97fd675a5918e4b38a08f3063cd84b34f4882601785493e38e79dd71e559cc0f8404ac7f90d7b92cb08dc9c64d1a170f325e849d5e16967a72b4cd0e77d996c06fc157b156425b1f5d1970b369c7e33921e4f77d48ea10d9bef2c60f03194417854a62e6cd3f8cbf5dc5257b84dda248818a17c6b6b0d50c5f1df31afb233d2aef8c9f674609b1414af30afea77bcd1e466715ac77fc08620d05f8ccea149bbe44b640fb3291fa7a6ce75f153bd5a76e2d0df3e681622f61a6ef781bca022ed144fcdfa18da3d4ddb7e7befe0a6e685517b83069bc09dee6b9a9087ab1db747e5fb4d453d465d2049062fc118c7528200dbd9f0cfcad30b22496f6608abbf0e3b5d31d76899ef1ab368fa0d15038aafb2a731e4a01b8fe73a646683d3f9c6d40b1c95d24d52b5fca3b0a40f2b5239441e9768197fea223f43c584ecb587ac4777e40c45c46f6ccfa72028fb1b9f87797748df3620cbddd614c61dd4ae6ef4995cde413354fb99640cad1fa9715f5f6efea8fa2f71bc630eece9450ceb7408b8eff68ee9bcd7e92ca40d81d181d311ee2c125ce484123d16fcb057bd7b161e5ce45852958bca34bbccfc390878b7919a4babaad454b7de56cef6cec4ca9d2068f10b477edfefa0fd8e8e8b25098ff9e30bde284cba4994e32c443cc4a419c8e2ae0453c2ebcec32da4816507bfee818956d83dccd5cbb0574769d89a4753389d02d28f7c6ef282db116da5e7c38f5dabd3e916c01acfa75b4fe6cecad5aac5d12ca8bdb779bc4fd42126e4536f70c5c598e15f9a13a57ea4a7e944b2ea87fdf992d2258fe27ce91d35157c59576d02ab0d6f0c64b88d906165ec4340f94dbef4c7af170686a3f67192332243d1df4e58b8ae29d25baa843dff1e2047af3960f32ced4f2e07b975a9de8cf50bdec83054cb264f9057e0ee695f2b3f18ea319d7258adcf250a0b1d73b37af3f9dbba8df2eb9555fe74b83b24fd613db15d1ee5fe7e3467a0b0b71f86a4a92b56dd7c099bc3fe5c1c70af1140afc2613a2dd3767e5396e23cebeae97f6ae926212b156490527e9a84a34b5b81ceee3d594313fe44b2768fd49b4bbd0404a1d0cb6b2691a0b325c899db66744f7b444aca27817966861126f23e86bf9802366c203668a151a1ca8729520a43eae1d86eca4ebcb6030bf611a8a03376877c0a6b558eb478cdc475ed57c951e2e1c8e413a7a689347b44fc79cfddb28ab574e08bf5f82b326f104796517aed27da7b69172d5077a18bbb7e9add82ffa9bf9038523eef0752e0dd5f2c92e39c963b318ad46cefeb1e04c437f5e6b070dc09f8d6a4a6524967be4e3683e3eb17dfcbe2a81440d81cede2ee74f9629b8451ac844cc03c5a573e57bad1434489f5b3fafaad520b4d6c65b673bd2b002af2709313b1b08d4c8ab80e8b82cf565f1901e63fce355147497258e8a504165ed807188e07f6a610d4ae39e06d5ad48c79928c0ad366ab589b8f82ac0a9498798c5402ce0679445a21747544ae5de13bd379ebec4efb003a0f4b5f66058d72f82527e87c56e01eb8d0461ceb49c2f774509acdf144a4b2a8c7517b9043e24c4a5c2cf44f7edbd727043518645bbc948f851dda9c33bb5190be0c5f07ce0f000dbab148f15fbc76ae264d4a6d1b08be82f1a45198d4eb3cb6ed00f5b2f2ef1f0fdcb9db40add42bc9f2962b73c09cae7450d241e64c179df4113e2f6d553d0a87e18961ff04fbf6101665a6811847551d2fb250baa4947f65cb4a6b44f9ff4b0e0faf8287ffa930d38db130ecb34d72e1196bdfce42daaabed9fd10ac5aa7c9516c8cb56123bc625bd53c5dfe3e9388de8a0cf489cbb943c506d31c7e581e1b8b9bf03735262a442762275380f82805478accf3c52f309717c09fd81c26eb39dc2542e4c512601625ae9f9dce009a20be43b6f6d6a9b03332a724f8936b1e5e433164af6fd2100fe93a6814a158ddcda2be9ba8488a38f368906abb298b4dfb1b4f1d10010863f1ba421fae199ef7611a41a5a321601a0b33643949308eb3b8e1f989106c042a79f12faac56ba04ab860f2be72cf54557ab50e7ddb17ed806a50ff06573272421fc926705e7703a6a7f7afcbf4db06325c6dc19221152be5da44b6df42891ce37386c8ac17ba619ce2e7a43ae10d5c5c991bf1928568d2aa0de3cd1364a662f93ce426984b47203e92e121386f6d7564947f39b82ac2e7913f1d2036813149f8039b035e8dfdb1ac98114f96fae4973177a08d28ab00abf84307c82de0b585ac7d11dfdf2b5adb8d3a52de1b82a76bb3a76fa8078842d226e8f8b56c34fecd5fc107e0e10565ee4faad7d5cd6f72d67d789b68bd042f45f1475a06c169aec1de8324dd15bf69776c89ce953b095efc18adf0f5a175b39701ef86423a11fa018ed2eb79811492f37638097cc78a6500c6c33152ab3b095dec85049de70de19b3b7c8efa16d226c4721fef6ed9929afdc3e2cdd575882c7613a462b8e8bd44978ce072bb0c0f3c2dda68dbe918682774499a6087be6f1a9970acbf917f7b8ed188268bb21d065605811e5ec61ef9a0cdf0ed4e225605a0843ac6847a932774696b84aae4e049331a3cae6ecf80e135c5c96dced56ea387fd0cbaa7b0c21eea9dc804f561be055e4e1ee95c7397ec3380206b571ef07b75f2a4de96ef937ca663ce0f7c9bf5f5b6e65af56305b9e5f0b80124c7eb0d5f6d73f9db36c81cf295ad1aa4dac2cc4e0c475b38d2170a9698ef58f653b4a531d644b138bf1179f01bcf124e5c90936f864dc7c0234d3900cbba34b17a0072147fa151c9697e2c375c7510affda9675c93e72b9f43a0463f981a9e941cf9a5306d74cf9d6f0c8edaaafeef8e24dd739f1713e72df6085c0a2d6ea2b044ac044c9dffd6cc626509846c41ee4aca0b4d1a0f5541e19f7e144edfe45c4d25098d34f3e67fd21d551d516be2ddca13ce70cd09473c3266406f7e3db6b5d9464d05f56518f481653e120a0e194940267afd290514dfe45ed291df6b4726e3f697f716d7f85bf2a66fd83e4f3ccd0481ff6a37abb495960fdf5f00e21af84d4934b6c8ed582568159986eb3fe8bbac282678fb110a1c0b1addc30189c714cb21f36dccea048a52f0f007b01c455c7ad622e0000d637f1416ca94215bcf7671e66418e641ad26c0859f7237ce2b7b4c926b15e802bf4c29af36dd9f0dd9fdbc18babd8692853e75a60519f4f166adb37132a91eb7d9fe8e329a05edd6b3ace083c653273628f37d60202a561bac318e39c5c097401427e0392003b77ff29c1f8eb3221ff"], 0x1060}, 0x0) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f0000000180)="2e00bb6ebde790ce4f88cd66000010008108040f9becdb4cb92e0a48b1371400000068bd6efb2503eaff0d000100", 0x2e}], 0x1}, 0x48000) r2 = bpf$ITER_CREATE(0x21, 0x0, 0x0) ioctl$TUNSETSTEERINGEBPF(r2, 0x800454e0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c47, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 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, 0x1) setsockopt$sock_attach_bpf(0xffffffffffffffff, 0x84, 0x9, &(0x7f0000000340), 0x4) r3 = openat$cgroup_ro(r2, &(0x7f0000000140)='memory.swap.current\x00', 0x0, 0x0) ioctl$TUNSETIFINDEX(r3, 0x400454da, &(0x7f00000001c0)) perf_event_open(0x0, 0xffffffffffffffff, 0x4, 0xffffffffffffffff, 0x0) sendmsg$tipc(r2, 0x0, 0x40000) ioctl$TUNSETIFINDEX(0xffffffffffffffff, 0x400454da, &(0x7f0000003980)) r4 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000240)={&(0x7f0000000200)='svcrdma_post_send\x00', r3}, 0x10) ioctl$PERF_EVENT_IOC_DISABLE(r4, 0x2401, 0xffff) r5 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) mkdirat$cgroup(r5, &(0x7f0000000100)='syz1\x00', 0x1ff) openat$cgroup_ro(r5, &(0x7f0000001700)='cpu.stat\x00', 0x0, 0x0) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f0000000100)="2e00000010008108040f9becdb4cb92e0a48b1371400000069bd6efb2503eaff0de00100020200bf050005001201", 0x2e}], 0x1}, 0x0) 17:42:07 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0x0) newfstatat(0xffffffffffffff9c, &(0x7f0000000a00)='./file0\x00', &(0x7f0000000a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x6000) r4 = gettid() prctl$PR_SET_PTRACER(0x59616d61, r4) r5 = getuid() r6 = accept4$inet(0xffffffffffffffff, &(0x7f0000000ac0)={0x2, 0x0, @remote}, &(0x7f0000000b00)=0x10, 0x400) r7 = syz_open_dev$dri(&(0x7f0000000b40)='/dev/dri/card#\x00', 0x8, 0x444400) r8 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r8, 0x8933, 0x0) r9 = gettid() ptrace$setopts(0x4206, r9, 0x0, 0x0) tkill(r9, 0x33) ptrace$setregs(0xd, r9, 0x0, &(0x7f0000000080)) ptrace$cont(0x7, r9, 0x0, 0x0) stat(&(0x7f0000000b80)='./file0\x00', &(0x7f0000000bc0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) sendmsg$netlink(r0, &(0x7f0000000d40)={&(0x7f0000000000)=@kern={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000300)=[{&(0x7f0000000080)={0x140, 0x19, 0x400, 0x70bd2b, 0x25dfdbfb, "", [@typed={0xec, 0x3a, 0x0, 0x0, @binary="352ce24c5927563c143d41d44a0a19d7bdf1e276e6798186e7b010e2f30354e4458cda99cd27d26ee4a556c83e9e312920dcb86830103024a3161febc3cab8af1b4886782c905b0d125cdd70c0501cab0737e816168fdfb4e44e62638b3ea9d852da22a02bb0281dc533c5bd3743d6c53f69c624274f5d039095fdd885e4b78f5218695129ef8790b5e44f07f6f90ab17123d32a3c52ec76e554083965dc16ac2a68bb6b34d823ecc81c1af9f434d5d152443d09da396734394cb5dde771fca6a571f4632b35d2f6890b62192e5290b4ddee404069d9c500f661b6a9c79b223bdd1d74cf11f58166"}, @generic="c72c7a866d425986e5d7cc03e6bd825ee2d5409fe29843eb01d9ddf5fcae0f65c40b59da760d4fbb6e21dfb31ee0f3c26d8063695331e2a7f84d4ddf445d0f0fc927a0"]}, 0x140}, {&(0x7f00000003c0)={0x5e0, 0x11, 0x100, 0x70bd27, 0x25dfdbfd, "", [@typed={0x8, 0x44, 0x0, 0x0, @ipv4=@multicast1}, @typed={0x8, 0x6a, 0x0, 0x0, @u32=0x1}, @generic="09936c1f969c06bc47fc189055400b4f887c2c37c2f0c42a01647d1c920f1ea813dffd84f94a569616523bcb677e20ea0f6b87c9311dceb95d37570362ac5f867bd05ee81a377e75753752535878fbf38f030df7bb9638beadf27225918126f91dffd93d55f6ba80ed258054e34b3150a51fa3fd5fefb4eea8b40a092ea44fd93ace5041df8bd692d8192ea87c8bc979b333f0d2d8f9c332212151c88baf0c16696cb0204cc80812c804c471eb80dd3de195623069dd8da55e4406dcb9489eb546cb6a1ded9263077eef80301aa2877444ed5b4e6e87cc3bb2bf503e62df31d8cf1ced07c624a9aaffcf1e632134df0dc96b80d36ddbab26a25958", @nested={0x1c, 0x73, 0x0, 0x1, [@typed={0x15, 0x2b, 0x0, 0x0, @str='O^,!@\xaa]$!@\xd2.%)\\-\x00'}]}, @nested={0x13e, 0x2b, 0x0, 0x1, [@generic="5323390abb622e9e93fd861816b03fca554277bedfbe881cb182072269060bb1ad51f2a6a61faa087eda64a3eb422b5b", @generic="d18a2c07db1f995f1267092befe7f8b9fc4abfafb5c5e14bc2757ffd4e84863410e1d4fc9a565b9d7e68967d1210112115aff43de5be8ed0d304af30cd95735170a946666a5e3a679263103ad881a98792bca35888e4878696462aca3b7068e2bcb1e052218a8b5424206290baa45d8de95e6895acd9ad135fcf4345d2d4c55a497b2a6694c3380baed53a36efce16eb69cbc23f336e22250561d3612b778ec6914cb4a4b34bc6ade342252a209e53b2a3247d391d0d52e278eadc5634084d899709be932a44d7", @generic="0d1a342b72db7071e782bca805fe05c4c141329d73bad51178a92bb72452c72466", @typed={0x8, 0x2d, 0x0, 0x0, @ipv4=@multicast1}, @generic="eaaf314a3cfc3d35fc444942e3c3d65196e21fc2e49f44893e32"]}, @nested={0x368, 0x60, 0x0, 0x1, [@generic="e608193ac4be690f005c7c42cb49a082ee0c7bec1ea561b47deb4d6617d030e1626512711b0554544f7092d3402598ef1b7567690b", @generic="0828c38813694f7b71b78d041160bfddfe2b4340db7fe30274735316033136ccfc6ac5a955f1713099704a98943d0d25db35052e38d72088ab9aa0f1544d8b80025aec037dccd2402fb39f", @generic="d5184f86c6fc4d5d8867640489298d151bf4470da519d74dce7d093c70741758f8a5c2b4dcbb64432f60ec82d3cc1e35a25bccb7410cbb08ac0857026909c25726112f0b976deb403f065f0b750b7046cfe7eb57007d31875966e4f52c0b92e92973dce5f53bbdb3e22e5961dcf31a2333dd0b09a1d10918fddd9b5bd889c244101fd92086d9ce53a95ec8e38e", @generic="fd346443d33b2289d1bc3371139e5625b01362cedef30d377a38603dcab65d5d30b0abe037645e6d2c730eb5d47ad1150d2b3201e1bfd3d31805415303507a915e0e6284605422b07b7d58d011d17e9aaf48dc0d8cda59492f56ef27401e9d436ddaba4f8676d87e3e8be7e601335564876302ab", @generic="21245a25b63a3683f2581089b76882ad2dafa9f2ef59ad49efa5d699a49a8f783fe27a56b750d0445b9ecb7a870f26368fa9c324258e81a2586b922ae2a2aad77d48df7779276f6a95b85189bed128b99fe5f35125b9594e9570ef853f0aa4a2afc1777336d8a4f66e3f5e7c2a6f8c457b470c7230379d14273e68087ee51242f19bb986a15ade4e848542bd4cda5ceb46fdd415ed365556b6adb92bf2493bbe2d48bf5501862adf683f9bc293181af04a6d777da97fae7a33aec692cba31c", @typed={0xc, 0x8c, 0x0, 0x0, @u64=0x1}, @generic="8dc70fe4a05f6adec72b9dc2326a8ad4bd3076e04f2c332974a3aa8a2b92bc02995c23f298bd4b4d23c79b706d5a014f4f0d1591af8f8cc534f5e70f9d9611b2bb4b9642cf563cccf84401912f241d45065cdf7fbba1405e4eef", @typed={0xc, 0x18, 0x0, 0x0, @u64=0x9}, @typed={0x8, 0x6e, 0x0, 0x0, @ipv4=@local}, @generic="be779316b6effd40ae08d74fba1f85410749f8db4f466e698ab8fc2b58e1f1702ccbb3e3abeffcee14021358e6d3cf74dc338f46fd56d3b6820a1f498aa01aeffaf2bbf0aa1c357495b54e54b9c59c2a4d5cdf8bf9a69b269e99102c707ac318932cb5810c191309dc1c80b7cfd6ced279c7d8599c99d1ae10bacf349cad35017f92c77fba7425fcdf732affdbe325e3f2d1e29b8ddd3c0d1805a33e19e9b46f7e65dc9e73135527f4b1"]}]}, 0x5e0}, {&(0x7f00000001c0)={0xe4, 0x3b, 0x100, 0x70bd26, 0x25dfdbfd, "", [@generic="0014dee9150335dcf45131db9c201af47d0f88f42e1685f78ec798afcc39a839b0415fa32cc0ed287b2c3bc986f58dc63ce3ff3b5ff76c465691db19cf95a5419b04e32ecd4d39e1555137bf40d2684c35ebf93951899836143f235c97bbd120d3eb838303b4ef4a9ab98e89227f1d63793800581dc8a0ae3f49acedc2f4621e63ce716ce35f15b2eec61f731f7c7265811e9f8299e5473b0c1524d81bd0122a848f06638d26028853675847f044145215dfecf710f7b0c10f161938b446df9ed0ba0633215d08f9ab", @typed={0x8, 0x25, 0x0, 0x0, @pid}]}, 0xe4}], 0x3, &(0x7f0000000c40)=[@rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, r0, r0, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {0x0, r2, r3}}}, @cred={{0x1c, 0x1, 0x2, {r4, 0xee01, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {0x0, r5, 0xee01}}}, @rights={{0x38, 0x1, 0x1, [r0, r0, 0xffffffffffffffff, r0, r6, r7, r0, r8, 0xffffffffffffffff, r0]}}, @cred={{0x1c, 0x1, 0x2, {r9, 0x0, r10}}}], 0xd8, 0x24000905}, 0x4090) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000340)=@newlink={0x5c, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x30, 0x12, 0x0, 0x1, @macvlan={{0xc, 0x1, 'macvlan\x00'}, {0x20, 0x2, 0x0, 0x1, [@IFLA_MACVLAN_MACADDR={0xa, 0x4, @local}, @IFLA_MACVLAN_MODE={0x8, 0x1, 0x10}, @IFLA_MACVLAN_MACADDR_MODE={0x8, 0x3, 0x1}]}}}, @IFLA_ADDRESS={0xa, 0x5, @empty=[0x4]}]}, 0x5c}}, 0x0) 17:42:07 executing program 3: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff7ffffffffffb, 0x0, 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={&(0x7f00000001c0), 0x1}, 0x0, 0x0, 0x0, 0x0, 0x1000000000000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000100)=[{0x6, 0x7, 0x2, 0xdf}]}, 0xfffffffffffffce5) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, 0x0) setresgid(0x0, 0xee00, r1) bpf$BPF_BTF_LOAD(0x12, &(0x7f00000003c0)={&(0x7f0000000800)=ANY=[@ANYBLOB="9feb01001800000000000000240000002400000002000000000000000034c2cf9d787f07f73b5bc8a493c704000004000000000c00b284576f4b91e3a804000000000068a45956d683de82ead928bb63311fae8ee125fe239ef4effc5ad986cb9e354bfd209e83059771eae021938e68b1f2e090da2f99c7dfca800a62b440c6b3fd8231e3bdd96d9f549f693f2705ed65d647ba3afb42d6c8e0052aa0f209c19327f5baba4d3c545985b2f3b0f7bd24846e21fd3573aada6bac8da7c7cfec04c5c0ee104deb44050000d84f0c0927adf689ea005b31bc0b4f4a78aed282aa1f9a1c08a95ef2fd72056f6fad2cd9e081bd5c0f26f8129d7dde01440f27d1d8cf508dd21e0aa27b91c937c368c71b5a79df8629b20dad8d51ae0971e983652dc511a68fdbcd2ff7e6dfb16b40a1ad4973ea1c7f9b5fb2e49099a5f42afc447c8d7ac865fff21c843c325ae4555cdb44d386ace05a05d8376289d15101fea70298e33acdffd2dc096310ad19c3523ae7ac0919c246c72b40af9218755dcc90a04f02529b39cdd100b29962defd784864cb368fe836de0a8e3c726ad60800"/422], 0x0, 0x3e}, 0x20) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, &(0x7f00000002c0)=ANY=[@ANYBLOB='\x00'/14, @ANYRES32=0x0], &(0x7f000095dffc)=0x8) r3 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r3, 0x84, 0x72, &(0x7f0000000000)={r2}, &(0x7f0000000040)=0xc) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER_VALUE(0xffffffffffffffff, 0x84, 0x7c, &(0x7f0000000180)={r2, 0x7, 0x3ff}, 0x8) sendmsg$IPSET_CMD_SAVE(0xffffffffffffffff, &(0x7f0000000500)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f00000004c0)={0x0}, 0x1, 0x0, 0x0, 0x20006811}, 0x400904d) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f0000001540)={0xffffffffffffffff, 0xc0, &(0x7f0000001480)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 0x10) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x19, 0x6, 0x0, &(0x7f0000000200)='syzkaller\x00', 0x7, 0xb7, &(0x7f000000cf3d)=""/183, 0x0, 0xc, [0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e], 0x0, 0x3, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0xffffffffffffff11, r4}, 0x78) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000600), 0x4) sendto$inet(r0, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x0, 0x10, 0xffffffffffffffff, 0x0) 17:42:07 executing program 0: syz_mount_image$f2fs(&(0x7f0000000000)='f2fs\x00', &(0x7f0000000100)='./file0\x00', 0xfffffffffffffffc, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {0x0, 0x0, 0x400000}], 0x0, &(0x7f0000000080)={[{@jqfmt_vfsv0='jqfmt=vfsv0'}]}) 17:42:08 executing program 3: mkdir(&(0x7f0000000040)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x0, 0x0) connect$unix(0xffffffffffffffff, &(0x7f0000000180)=@file={0x0, './bus\x00'}, 0x6e) sendmsg$TEAM_CMD_NOOP(0xffffffffffffffff, 0x0, 0x0) r0 = open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) fchdir(r0) ioctl$USBDEVFS_GET_SPEED(0xffffffffffffffff, 0x551f) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) r1 = creat(&(0x7f0000000000)='./file0\x00', 0x0) r2 = fanotify_init(0x0, 0x0) fanotify_mark(r2, 0x2000000000000011, 0x2, r1, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x4000) r3 = open(&(0x7f00000002c0)='./bus\x00', 0x141042, 0x0) r4 = socket$inet6(0xa, 0x400000000001, 0x0) close(r4) r5 = open(&(0x7f0000002000)='./bus\x00', 0xc4042, 0x0) sendfile(r4, r5, 0x0, 0x200fc0) ioctl$USBDEVFS_CONNECTINFO(r5, 0x40085511, &(0x7f0000000100)) write$P9_RREADLINK(r3, &(0x7f0000000340)=ANY=[], 0x44) sendfile(r3, r3, &(0x7f0000000240), 0x7fff) [ 415.204761] F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 415.229141] F2FS-fs (loop0): Can't find valid F2FS filesystem in 2th superblock [ 415.250484] F2FS-fs (loop0): invalid crc value [ 415.255465] F2FS-fs (loop0): invalid crc value [ 415.264001] F2FS-fs (loop0): Failed to get valid F2FS checkpoint 17:42:08 executing program 3: perf_event_open(&(0x7f0000000000)={0x1, 0x70, 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, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$vcsa(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/vcsa\x00', 0x202080, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f00000007c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_POLL(0xffffffffffffffff, &(0x7f0000002800)={0x18, 0x0, r1, {0x200}}, 0x18) read$FUSE(0xffffffffffffffff, &(0x7f00000007c0)={0x2020, 0x0, 0x0, 0x0}, 0x2020) syz_mount_image$ext4(&(0x7f0000003b00)='ext3\x00', &(0x7f0000003b40)='./file0\x00', 0x81, 0x3, &(0x7f0000003d80)=[{&(0x7f0000003b80)="343c93d6129c540f5bc377c09d1b29463d7c629a58d5d34818b3f352aa6ae6973ac7c210f53470d48a54be8e566685b7caf45c2181ad07068c2856caaa", 0x3d, 0xee0}, {0x0, 0x0, 0xffffffff}, {&(0x7f0000003cc0)="c27ba99ebe89416ad00b31ee8f91efdc2fa86f073fcab874f338d40f603d3e4bdfa9e015fc30c74a62ac9eb4b5cc141906d9448fa481f7290a27b9f4bb2df9dd1fcb9a7987badd910770e706a37f1ec9810b30a4589cfc108c76c9c5dba6", 0x5e, 0x400}], 0x0, &(0x7f0000000200)=ANY=[@ANYBLOB='errors=continue,grpid,nodelalloc,debug,nouser_xattr,lazytime,max_batch_tame=0x000000007fffffff,journal_path=./file0,euid=', @ANYRESDEC=r2, @ANYBLOB="2c6f626a86726f6c653d26a13b2d28277d405e242c66736d616769633d3078303030303030303030300d4917b280f33030303030382c736d61636b6673726fdd358154f05b2c00"]) r3 = getgid() write$FUSE_ENTRY(r0, &(0x7f0000000140)={0x90, 0x0, 0x0, {0x0, 0x2, 0x1ff, 0x0, 0xff, 0x3f, {0x2, 0x300000, 0x2, 0xc240, 0xfffffffffffffffa, 0x7, 0x1, 0x0, 0x800, 0x0, 0x40, r2, r3, 0x1, 0x200}}}, 0x90) r4 = semget(0x3, 0x2, 0x20e) semctl$GETVAL(r4, 0x2, 0xc, &(0x7f0000002840)=""/4096) [ 415.303794] F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 415.324764] F2FS-fs (loop0): Can't find valid F2FS filesystem in 2th superblock [ 415.348078] F2FS-fs (loop0): invalid crc value [ 415.358628] F2FS-fs (loop0): invalid crc value [ 415.373372] F2FS-fs (loop0): Failed to get valid F2FS checkpoint 17:42:08 executing program 3: r0 = perf_event_open(&(0x7f0000000700)={0x1, 0x70, 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, 0x2, @perf_bp={0x0}, 0x801, 0x9, 0x1920}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = dup(0xffffffffffffffff) ioctl$ION_IOC_ALLOC(0xffffffffffffffff, 0xc0184900, &(0x7f0000000040)={0x3, 0x1, 0x0, 0xffffffffffffffff}) r3 = dup(r2) r4 = syz_open_dev$dri(&(0x7f0000000000)='/dev/dri/card#\x00', 0x0, 0x0) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(0xffffffffffffffff, 0xc00c642e, &(0x7f0000000240)={0x0}) r6 = syz_open_dev$dri(&(0x7f0000000000)='/dev/dri/card#\x00', 0x0, 0x0) openat$cachefiles(0xffffffffffffff9c, &(0x7f0000000100)='/dev/cachefiles\x00', 0x20400, 0x0) r7 = socket$inet6(0xa, 0x401000000001, 0x0) close(r7) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r4, 0xc00c642e, &(0x7f0000000140)={0x0, 0x0, r3}) ioctl$DRM_IOCTL_PRIME_HANDLE_TO_FD(r6, 0xc10c5541, &(0x7f00000000c0)={r5}) dup3(r3, r6, 0x0) setsockopt$IP_VS_SO_SET_ZERO(r1, 0x0, 0x48f, &(0x7f0000000180)={0x6, @initdev={0xac, 0x1e, 0x1, 0x0}, 0x4e22, 0x3, 'wrr\x00', 0x2, 0x80, 0x3b}, 0x2c) r8 = dup2(r1, r0) ioctl$DRM_IOCTL_SET_SAREA_CTX(r8, 0x4010641c, &(0x7f00000001c0)={0x0, &(0x7f0000000380)=""/125}) ioctl$DMA_BUF_IOCTL_SYNC(r3, 0x40086200, &(0x7f0000000200)=0x5) getsockopt$EBT_SO_GET_ENTRIES(r1, 0x0, 0x81, &(0x7f00000002c0)={'filter\x00', 0x0, 0x4, 0x15, [], 0x0, &(0x7f00000001c0), &(0x7f0000000280)=""/21}, &(0x7f0000000340)=0x78) r9 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r9, &(0x7f0000000080)={0x0, 0x3200, &(0x7f00000000c0)=[{&(0x7f0000000000)="2e00000022008151e05b80ecdb4cb904044865160b00160002000000740004140e001100024d0000dc2976d153b4", 0x235}], 0x1}, 0x0) 17:42:08 executing program 0: openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000100)='devices.deny\x00', 0x2, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clock_gettime(0x4e82ff4c1886faec, &(0x7f0000000700)) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @tid=0xffffffffffffffff}, &(0x7f0000000080)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15}, &(0x7f0000000040)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x7) sendfile(r1, r2, 0x0, 0x80001d00c0d0) 17:42:08 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) r3 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) read$char_usb(0xffffffffffffffff, &(0x7f00000001c0)=""/52, 0x34) bind$bt_hci(r3, &(0x7f0000000280)={0x1f, 0xffff, 0x3}, 0x6) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r5 = dup(r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) io_setup(0xa, &(0x7f0000000080)=0x0) io_submit(r6, 0x3, &(0x7f0000000340)=[&(0x7f0000000100)={0x0, 0x4, 0x0, 0x1, 0x0, r3, &(0x7f0000000040)="0300ffff0000", 0x6}]) ioctl$sock_SIOCGIFINDEX(r2, 0x8933, &(0x7f0000000000)={'macvlan1\x00', 0x0}) r8 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r8, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000100)=@newlink={0x5c, 0x10, 0x403, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x1081}, [@IFLA_LINKINFO={0x2c, 0x12, 0x0, 0x1, @vlan={{0x9, 0x1, 'vlan\x00'}, {0x1c, 0x2, 0x0, 0x1, [@IFLA_VLAN_ID={0x6}, @IFLA_VLAN_INGRESS_QOS={0x10, 0x4, 0x0, 0x1, [@IFLA_VLAN_QOS_MAPPING={0xc, 0x1, {0x0, 0xffff3bae}}]}]}}}, @IFLA_LINK={0x8, 0x5, r7}, @IFLA_MASTER={0x8, 0xa, r7}]}, 0x5c}}, 0x0) 17:42:08 executing program 1: ioctl$SNAPSHOT_AVAIL_SWAP_SIZE(0xffffffffffffffff, 0x80083313, &(0x7f00000000c0)) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000080)={'ip6gre0\x00', &(0x7f0000000000)={'syztnl2\x00', 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, @private2={0xfc, 0x2, [], 0x1}, @private0, 0x0, 0x700}}) r1 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r1, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) r2 = dup(0xffffffffffffffff) r3 = syz_genetlink_get_family_id$devlink(&(0x7f0000000080)='devlink\x00') sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000480)={0x144, r3, 0x200, 0x70bd2c, 0x25dfdbfd, {}, [{{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x3}}, {0x8, 0xb, 0x6}, {0x6, 0x11, 0x1040}, {0x8, 0x15, 0x2b1}}, {{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x2}}, {0x8}, {0x6, 0x11, 0xfffe}, {0x8, 0x15, 0x4}}, {{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x2}}, {0x8, 0xb, 0x80000001}, {0x6, 0x11, 0x3}, {0x8, 0x15, 0x973d}}, {{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x1}}, {0x8, 0xb, 0x200}, {0x6, 0x11, 0x137}, {0x8, 0x15, 0x6}}, {{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x3, 0x3}}, {0x8, 0xb, 0x4}, {0x6, 0x11, 0xc6ca}, {0x8, 0x15, 0x3}}]}, 0x144}, 0x1, 0x0, 0x0, 0x800}, 0xc014) pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r5 = openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000300)='/dev/dlm_plock\x00', 0x6c4380, 0x0) ioctl$RTC_WIE_OFF(r5, 0x7010) sendmsg$DEVLINK_CMD_RELOAD(r1, &(0x7f00000002c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000280)={&(0x7f0000000180)={0xd8, r3, 0x4, 0x70bd2a, 0x25dfdbfb, {}, [{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, @DEVLINK_ATTR_NETNS_ID={0x8}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, @DEVLINK_ATTR_NETNS_FD={0x8, 0x8a, r4}}, {@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, @DEVLINK_ATTR_NETNS_ID={0x8, 0x8c, 0x1}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, @DEVLINK_ATTR_NETNS_ID={0x8, 0x8c, 0x2}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, @DEVLINK_ATTR_NETNS_ID={0x8, 0x8c, 0x80000001}}]}, 0xd8}, 0x1, 0x0, 0x0, 0x40000}, 0xdb9d65307de44a41) 17:42:08 executing program 0: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socket$inet6(0xa, 0x0, 0x0) syz_genetlink_get_family_id$mptcp(&(0x7f0000000000)='mptcp_pm\x00') r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000100)=@newlink={0x48, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @ipvlan={{0xb, 0x1, 'ipvlan\x00'}, {0xc, 0x2, 0x0, 0x1, [@IFLA_IPVLAN_MODE={0x6, 0x1, 0x2}]}}}, @IFLA_ADDRESS={0xa, 0x5, @empty=[0x4]}]}, 0x48}}, 0x0) 17:42:08 executing program 3: r0 = socket$inet6(0xa, 0x401000000001, 0x0) close(r0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r0, 0xffffffffffffffff, 0x0, 0x0) r2 = openat$cgroup_ro(r1, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r2, 0x40086602, 0x400007) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) perf_event_open(0x0, 0xffffffffffffffff, 0xb, r3, 0x2) perf_event_open(&(0x7f0000000180)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x203, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_type(0xffffffffffffffff, 0x0, 0x0) write$cgroup_int(0xffffffffffffffff, 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN_UNNAMED(0x11, 0x0, 0x0) ioctl$VT_RELDISP(0xffffffffffffffff, 0x5605) openat$cgroup(0xffffffffffffffff, &(0x7f0000000240)='syz0\x00', 0x200002, 0x0) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='memory.events\x00', 0x100002, 0x0) write$cgroup_subtree(r5, &(0x7f0000000600)=ANY=[], 0x32600) openat$cgroup_int(r5, &(0x7f0000000100)='cpuset.memory_spread_slab\x00', 0x2, 0x0) write$cgroup_int(r4, &(0x7f0000000200), 0x806000) ioctl$TUNSETFILTEREBPF(r3, 0x6609, 0x0) [ 415.644702] IPVS: ftp: loaded support on port[0] = 21 17:42:08 executing program 3: r0 = creat(&(0x7f0000000140)='./bus\x00', 0x0) r1 = open(&(0x7f0000000000)='./bus\x00', 0x185180, 0x0) dup3(r1, r0, 0x0) io_setup(0x40000000008, &(0x7f0000000240)=0x0) r3 = creat(&(0x7f0000000100)='./bus\x00', 0x0) fallocate(r3, 0x0, 0x0, 0x1000f4) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x20}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) io_submit(r2, 0x8, &(0x7f0000000540)=[&(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0, r0, &(0x7f0000000000), 0x200a00}]) r4 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(0xffffffffffffffff, 0x0, 0x0) sendmmsg(r4, &(0x7f0000007fc0), 0x4000000000001a8, 0x0) 17:42:08 executing program 1: r0 = creat(&(0x7f0000000100)='./bus\x00', 0x0) r1 = open(&(0x7f0000000000)='./bus\x00', 0x185180, 0x0) dup3(r1, r0, 0x0) io_setup(0x8, &(0x7f0000000500)=0x0) r3 = creat(&(0x7f0000000100)='./bus\x00', 0x0) r4 = socket$inet6(0xa, 0x3, 0x8000) close(r4) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f00000001c0)='nl80211\x00') r6 = socket$nl_generic(0x10, 0x3, 0x10) r7 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') sendmsg$NL80211_CMD_SET_COALESCE(r6, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={0x34, r7, 0xe01, 0x0, 0xfffffffc, {{0x2}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xc, 0x3, 0x0, 0x1, [{0x8, 0x0, 0x0, 0x0, @NL80211_PKTPAT_PATTERN={0x4}}]}]}, 0x34}}, 0x0) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000340)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_PROBE_CLIENT(r0, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x80000000}, 0xc, &(0x7f0000000200)={&(0x7f0000000380)={0x4c, r5, 0x300, 0x70bd2a, 0x25dfdbfd, {{}, {@val={0x8, 0x3, r8}, @void}}, [@NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MAC={0xa}]}, 0x4c}, 0x1, 0x0, 0x0, 0x40880}, 0x20050841) r9 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r4, r9, 0x0, 0x8000fffffffa) ioctl$EVIOCSABS20(r9, 0x401845e0, &(0x7f0000000140)={0x7fff, 0x3f, 0x9, 0x7, 0x200, 0x70}) fallocate(r3, 0x0, 0x0, 0x1000f4) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x20, 0x80000000}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) io_submit(r2, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0, r0, &(0x7f0000000000), 0x0, 0x0, 0x0, 0x0, r1}]) 17:42:08 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) r1 = socket$inet_dccp(0x2, 0x6, 0x0) listen(r0, 0x6) setsockopt(r1, 0x10d, 0x800000000d, &(0x7f00001c9fff)="03", 0x1) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @empty}, 0x10) sendmmsg(r1, &(0x7f0000000ac0)=[{{0x0, 0x5d, &(0x7f0000000180)=[{&(0x7f0000000880)='T', 0x1}], 0x1}}], 0x503, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000080)='nl80211\x00') ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, &(0x7f00000000c0)={r0}) sendmsg$IPVS_CMD_NEW_SERVICE(r2, &(0x7f0000000300)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0xf609697fb1ea8ba2}, 0xc, &(0x7f00000002c0)={&(0x7f0000000480)=ANY=[@ANYBLOB="fcf16825fd", @ANYRES16=0x0, @ANYBLOB="020028bd7000fcdbdf25010000001800028014000100fe8000000000000000000000000000aa08000600040000000800050080060004004e230000060004024e2000000c0007003000000001000000500002800800040000100000080007001000000005000d000000000008001400400000001400010000000000000000000000000000000001060002004e22000008000400f3a0de37080009000500000014000180060002003a00000008e804000000000014000280080004000200000008000900030000000800050004000000da9cfdb6bb4b2943c10d34301cc9380f52e8baf1ec24f241d1b20bc84aa00f149a12a30df1aee39cdf618f00eb8b547bd3309c4250879a4f3600000000000000"], 0xdc}, 0x1, 0x0, 0x0, 0x44000}, 0x81) sendmsg$NL80211_CMD_TDLS_CHANNEL_SWITCH(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x100000}, 0xc, 0x0, 0x1, 0x0, 0x0, 0x4}, 0x94) 17:42:08 executing program 1: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xa080, 0x0, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = inotify_init1(0x0) r1 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r1, 0x29, 0x20, &(0x7f00000000c0)={@mcast1, 0x800, 0x0, 0x0, 0x1}, 0x20) sendmsg$IPSET_CMD_DEL(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x80440080}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)={0x50, 0xa, 0x6, 0x101, 0x0, 0x0, {0x6aa33f1c4794c6b0, 0x0, 0x2}, [@IPSET_ATTR_DATA={0x24, 0x7, 0x0, 0x1, [@IPSET_ATTR_SKBMARK={0xc, 0x1b, 0x1, 0x0, 0xe7d2}, @IPSET_ATTR_IP={0xc, 0x1, 0x0, 0x1, @IPSET_ATTR_IPADDR_IPV4={0x8, 0x1, 0x1, 0x0, @empty}}, @IPSET_ATTR_LINENO={0x8, 0x9, 0x1, 0x0, 0x4}]}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}]}, 0x50}, 0x1, 0x0, 0x0, 0x8000}, 0x4040) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r1, 0x29, 0x37, &(0x7f0000000380)=ANY=[@ANYBLOB="000000000000000072ae0794802d059d6c58921cd48264391de686fd788f01a77d4c1eafa6f65270f654f12ba92bc674f288d607b7b147a42ce0c437c19c461deb2680853639958150aa58cdef1ef514a2e620b07148fa509c0335cdcc75ec115a7bd9563bab7074eec6991804f34948128afa0df951e003cfcf3b7b5bbaf9d4df336a97cafd7fb0849b34f9ccc63d6ee25f429e2099892cbb28bc26ca3f4c3b100cd51b881ec6d9fee482656127b145d45466c2560a36d94b3ea6407bcf054cf68d5706cb802230e7472b5d8a8fef34cc30736ee50faa367d22afeb14303959970dc338ce"], 0x8) setsockopt$inet6_IPV6_DSTOPTS(r1, 0x29, 0x3b, &(0x7f0000000480)=ANY=[@ANYBLOB="0400"], 0x8) setsockopt$inet6_int(r1, 0x29, 0x1000000000021, &(0x7f0000000200)=0x1, 0x4) sendmsg$inet6(r1, &(0x7f0000000300)={&(0x7f0000000080)={0xa, 0x4e22, 0x1000000080000, @dev}, 0x1c, 0x0}, 0x0) r2 = openat$ptmx(0xffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x80200, 0x0) r3 = dup2(r2, r1) write(r3, &(0x7f0000000340), 0x0) fcntl$getownex(r0, 0x10, &(0x7f0000000080)={0x0, 0x0}) ptrace(0xffffffffffffffff, r4) ptrace$peeksig(0x4209, r4, &(0x7f00000000c0), &(0x7f00000001c0)) read$FUSE(r3, &(0x7f00000004c0)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) ptrace$pokeuser(0x6, r5, 0x3, 0x0) sched_setparam(0x0, &(0x7f0000000040)=0x8) creat(&(0x7f0000000000)='./bus\x00', 0x0) 17:42:08 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) sendto$ax25(0xffffffffffffffff, &(0x7f0000000200)="089259582aacf352ced20f0f6bc8313bb70152d882f3ec5948b1e4353c106a90dd", 0x21, 0x40, &(0x7f0000000380)={{0x3, @null, 0x3}, [@bcast, @null, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @bcast, @bcast, @default]}, 0x48) sendmsg$NL80211_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000280)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0xbeab9c5070cfbeb6}, 0xc, &(0x7f0000000240)={&(0x7f00000002c0)=ANY=[@ANYBLOB="4418000079e2acbabbf9672a0dc518a5925d1fe1e3f4e62f7107d8781f3ead4df068a2fff52f453ac995a206fa754d91b23488865575c5943e13c00cb2c540915c7accd6d2b5c1d875129d9f2a88bf4c937166ad9e7ddeafa7226f33944cb9b6b904f890e12c57f3383635ebd30d939beaa30e148bc629a50ecaae5f26625f70dbc2453836549d00b2736996", @ANYRES16=0x0, @ANYBLOB="00022dbd7000fddbdf25300000000600360014000000060036001e000000060036003b000000"], 0x2c}, 0x1, 0x0, 0x0, 0xc4}, 0x80) r1 = dup(r0) setsockopt$RXRPC_SECURITY_KEYRING(r1, 0x110, 0x2, &(0x7f0000000400)='encrypted\x00', 0xa) setsockopt$sock_linger(r0, 0x1, 0xd, &(0x7f0000000480)={0x0, 0x1ff}, 0x8) prctl$PR_TASK_PERF_EVENTS_DISABLE(0x1f) ioctl$UI_DEV_CREATE(r1, 0x5501) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$SNDRV_PCM_IOCTL_WRITEI_FRAMES(r1, 0x40184150, &(0x7f00000000c0)={0x0, &(0x7f0000000040)="02619807571b7ad307f7da4a0a18ef609f0916b1973b81a6aa996f9350358c548384604fcec6d36acc777ebb5acb161c263756d44e5214fceb4f447a959e25c45585e7dadd95bc801828e0f408726c1c2288c54c9ce8089b8a0a485d1027a1c68df309090761083593", 0x69}) r2 = socket$tipc(0x1e, 0x5, 0x0) connect$tipc(r2, &(0x7f0000000080)=@id, 0x10) recvfrom$rxrpc(r2, &(0x7f00000000c0)=""/92, 0x5c, 0x0, 0x0, 0x0) keyctl$instantiate(0xc, 0x0, &(0x7f0000000100)=ANY=[@ANYBLOB="6eecf38746656661f56c7420757365723a73797e20"], 0x2a, 0x0) add_key(&(0x7f0000000140)='encrypted\x00', &(0x7f0000000180)={'syz'}, &(0x7f0000000100), 0xca, 0xfffffffffffffffe) ioctl$VFIO_IOMMU_GET_INFO(r1, 0x3b70, &(0x7f0000000440)={0x18, 0x0, 0x0, 0xffffffff}) 17:42:08 executing program 1: r0 = socket$inet_tcp(0x2, 0x1, 0x0) socket$rds(0x15, 0x5, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) bind$rds(r2, 0x0, 0x0) openat$vim2m(0xffffffffffffff9c, 0x0, 0x2, 0x0) sendmsg$rds(0xffffffffffffffff, 0x0, 0x0) fsetxattr$security_evm(0xffffffffffffffff, 0x0, &(0x7f0000000040)=ANY=[], 0xc, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x0, 0x40, &(0x7f0000000800)=@filter={'filter\x00', 0xe, 0x4, 0x2f0, 0x0, 0x168, 0xb8, 0x0, 0x178, 0x240, 0x258, 0x258, 0x258, 0x240, 0x4, 0x0, {[{{@ip={@rand_addr, @broadcast, 0x0, 0x0, 'veth0\x00', 'veth1_to_bond\x00'}, 0x0, 0x70, 0xb8}, @common=@unspec=@IDLETIMER={0x48, 'IDLETIMER\x00', 0x0, {0x1ff, 'syz0\x00'}}}, {{@uncond, 0x0, 0x70, 0xb0}, @common=@unspec=@ERROR={0x40, 'ERROR\x00', 0x0, "0f209c4b7c033fe8ca77c0985c02d77f11d2a21467f73dd398569bd3bf03"}}, {{@uncond, 0x0, 0xc8, 0xf0, 0x0, {}, [@common=@ttl={{0x28, 'ttl\x00'}}, @common=@unspec=@realm={{0x30, 'realm\x00'}}]}, @REJECT={0x28, 'REJECT\x00'}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x350) socket$inet_tcp(0x2, 0x1, 0x0) r3 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r3, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x0, 0x40, &(0x7f0000000480)=@filter={'filter\x00', 0xe, 0x4, 0x2d0, 0x0, 0x0, 0x148, 0x148, 0x178, 0x240, 0x238, 0x238, 0x238, 0x240, 0x4, 0x0, {[{{@ip={@rand_addr, @broadcast, 0x0, 0x0, 'veth0\x00', 'veth1_to_bond\x00'}, 0x0, 0x70, 0x98}, @REJECT={0x28, 'REJECT\x00'}}, {{@ip={@multicast1, @private, 0x0, 0x0, 'veth1\x00', 'ip_vti0\x00'}, 0x0, 0x70, 0xb0}, @common=@unspec=@ERROR={0x40, 'ERROR\x00', 0x0, "0f209c4b7c033fe8ca77c0985c02d77f11d2a21467f73dd398569bd3bf03"}}, {{@uncond, 0x0, 0xc8, 0xf0, 0x0, {}, [@common=@ttl={{0x28, 'ttl\x00'}}, @common=@unspec=@realm={{0x30, 'realm\x00'}}]}, @REJECT={0x28, 'REJECT\x00'}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x330) 17:42:08 executing program 1: r0 = socket$inet6_udp(0xa, 0x2, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r2, 0x29, 0x37, &(0x7f0000000100), 0x8) connect$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @remote, 0x6}, 0x1c) r3 = syz_open_dev$mouse(&(0x7f0000000040)='/dev/input/mouse#\x00', 0x4, 0x8900) setsockopt$inet_icmp_ICMP_FILTER(r3, 0x1, 0x1, &(0x7f0000000080)={0x3f}, 0x4) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r3, 0xc0502100, &(0x7f0000000140)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r1, 0xc0182101, &(0x7f00000000c0)={r4, 0x8, 0x4}) sendmmsg(r2, &(0x7f000000ac80), 0x66, 0x0) 17:42:08 executing program 1: perf_event_open(&(0x7f0000000080)={0x1, 0x70, 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, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = perf_event_open(&(0x7f000001d000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) mmap(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0, 0x10, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_OUTPUT(0xffffffffffffffff, 0x2405, r0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x11, r1, 0x0) r2 = socket$inet(0x2, 0x4000000000000001, 0x0) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000140)='nl80211\x00') sendmsg$NL80211_CMD_SET_POWER_SAVE(r1, &(0x7f0000000200)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)={0x24, r3, 0x100, 0x70bd27, 0x25dfdbff, {{}, {@void, @void}}, [@NL80211_ATTR_PS_STATE={0x8}, @NL80211_ATTR_PS_STATE={0x8, 0x5d, 0x1}]}, 0x24}, 0x1, 0x0, 0x0, 0x8000}, 0x20) bind$inet(r2, &(0x7f0000000040)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r2, 0x0, 0x10b, 0x200007fe, &(0x7f0000000100)={0x2, 0x10004e23, @dev={0xac, 0x14, 0x14, 0xa}}, 0x10) ioctl$PERF_EVENT_IOC_PERIOD(r0, 0x40082404, &(0x7f0000000240)=0x2) sendto$inet(r2, &(0x7f0000d7cfcb), 0xffffffffffffffef, 0x0, 0x0, 0x53) 17:42:08 executing program 5: r0 = open(&(0x7f0000000080)='./bus\x00', 0x400141042, 0x0) mmap(&(0x7f0000001000/0xa000)=nil, 0xa000, 0x0, 0x11, r0, 0xbbd74000) r1 = creat(&(0x7f0000000000)='./bus\x00', 0x0) fcntl$setstatus(r1, 0x4, 0x6000) io_setup(0x202, &(0x7f0000000200)=0x0) r3 = creat(&(0x7f0000000280)='./bus\x00', 0x0) ftruncate(r3, 0x8200) r4 = dup(0xffffffffffffffff) ioctl$FS_IOC_SETFSLABEL(r4, 0x41009432, &(0x7f0000000340)="4412e80d8a79c6ba4f1fd8f77648ba3f7eae4e8d7aa9677658369419afd58cf337c4bb212649876e457c06cad5a1e55995f3da812ffb32c576e0485216059c4b8b3b5c130523275a8d3f7fe93b326b83f1ed3e2c7dd8a12d18a31800f6f7a9a964d9c90ca301cc3effb04da5e2fa43373271075f4e51c87d2b9b3ea3aa1680c7aad1e30fa5d34e105fef24b8973a57716e91e535f98f422924352821afe04993b6f9b8e2ffd831e01d7f85a8b43e6e2d0c4c21297e6a446b67c2d72d054815fd674132b7b58854a09ea0d0ce879a5bf9733eca237803a1ebbe39f252cc7d857c5cb2fd38bf1488922345ce97f1f147eda71d8a7443005e7db3e8f6e3f68b94d3") r5 = syz_genetlink_get_family_id$devlink(&(0x7f0000000080)='devlink\x00') sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(r4, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000580)=ANY=[@ANYBLOB="44010000", @ANYRES16=r5, @ANYBLOB="00022cbd7000fedbdf2514000000080001007063690011000200303030303a30303a31300e3000000000080003000300000008000b0006000000060011000600000000000000b10200000e0001006e657464657673696d0000000f0002006e657464657673696d300000080003000200000008000b00150009000000080001007063690011000200303030303a30303a31302e3000000000080003000200000008000b00040000000600110003000000080015003d970000080001007063690011000200303030303a3031302e300003000100000008000b000002000006001100370100000800150006000000080001007063690011f00100303030303a30303a31302e3000000000080003000300000000000600110001fc020008001500020000000000000000000000000000a302ad41806746d9d5b208cac069ea2e4e13ffd3d9519c7da6b61a2f82d9592a9eb8229a297e6c344dc79da7828071b6e1e724afb45974f0cf0530c3c205b19391fc34d6ccda176e5a365df9f58777ad7d3c970d2b871c35d41dc75dd0f2e3edbc514421aebf8d71c5c0e0b427a5a0e20f1c8d37eb2818e8beea69118cef1bc1b680f8001a5b970e1f9e605200afa0eea8bec15273be7c61c8cdb8e49e1acd71f80dfb10db4d7aa62ca7795073ae2ba7105096325b956c8dc8784fc7ee8d7fd3b8c369706f27424b46cdcb5933037894466344d63867d26844"], 0x144}, 0x1, 0x0, 0x0, 0x800}, 0x4000) sendmsg$DEVLINK_CMD_PORT_SET(r0, &(0x7f0000000240)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x8000000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000140)={0x70, r5, 0x100, 0x70bd2a, 0x25dfdbfd, {}, [{{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x2}}, {0x6, 0x4, 0x3}}, {{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x3, 0x3}}, {0x6, 0x4, 0x2}}]}, 0x70}, 0x1, 0x0, 0x0, 0x20000010}, 0x10000000) r6 = socket$packet(0x11, 0x3, 0x300) r7 = dup(r6) write$binfmt_elf64(0xffffffffffffffff, &(0x7f00000007c0)=ANY=[@ANYBLOB="7f454c4600000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e6b6d28ebc7904d86a2670aa51ef27e1f3e0ee5f2fa4362e3cc6c75cac8f7488ccc25a8649c9a9637b45bd9fc011df3b94bccfb704f9c77721e949bd9ac29968e659049d95998f8f611044173f8686cf5017bdfed7c08ef7a9b09cff639d41833efe24b9d934c9ebaf1cd4251fe8b88f546fd3c06ff744fca96ecddfc5a5eb55f89976261328e4bf123fc6a68020331e3742b8a28c0013d03055dba8b20daece8dbb393aa0d1dfbd1a14801e0d5781af95f8c0771091501aa3ac248b860d7116bed322df9c012ffdbf42ce4669036e93573308e83a6729a57558c33f6dbd1cc65"], 0x78) ioctl$PERF_EVENT_IOC_ENABLE(r7, 0x8912, 0x400200) ioctl$FS_IOC_RESVSP(r1, 0x40305828, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x1299}) io_submit(r2, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x0, 0x0, 0x1, 0x0, r1, &(0x7f0000000000), 0x1a000000}]) r8 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000440)='freezer.state\x00', 0x0, 0x0) ioctl$DRM_IOCTL_MODE_OBJ_SETPROPERTY(r8, 0xc01864ba, &(0x7f0000000300)={0x8, 0x0, 0x8, 0xeeeeeeee}) 17:42:09 executing program 1: r0 = socket$vsock_stream(0x28, 0x1, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$DRM_IOCTL_AGP_RELEASE(r2, 0x6431) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) connect$vsock_stream(r0, &(0x7f0000000900)={0x28, 0x0, 0x0, @hyper}, 0x10) listen(r0, 0x6) ioctl$int_in(r0, 0x5421, &(0x7f00000000c0)=0x6) r3 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000000)='/dev/vcsa\x00', 0xaa41, 0x0) ioctl$VIDIOC_SUBSCRIBE_EVENT(r3, 0x4020565a, &(0x7f0000000040)={0x6, 0x0, 0x3}) accept(r0, 0x0, 0x0) 17:42:08 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x2, 0x0, 0x41bd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, @perf_config_ext={0x1}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mknod$loop(&(0x7f0000000100)='./file1\x00', 0x6000, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00', 0x0, 0x0) fdatasync(r1) shmat(0x0, &(0x7f0000fff000/0x1000)=nil, 0x6000) shmctl$IPC_RMID(0x0, 0x0) write$P9_RREMOVE(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x7b, 0x1}, 0x7) sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x40000006) write$P9_RFLUSH(0xffffffffffffffff, &(0x7f00000000c0)={0x7, 0x6d, 0x1}, 0x7) acct(&(0x7f00000002c0)='./file2\x00') clone(0x24300900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) write$P9_RAUTH(0xffffffffffffffff, &(0x7f0000000180)={0x14, 0x67, 0x2, {0x80, 0x3}}, 0x14) ioctl$LOOP_CTL_GET_FREE(0xffffffffffffffff, 0x4c82) ioctl$PIO_FONTX(r1, 0x4b6c, &(0x7f00000001c0)={0x196, 0x12, &(0x7f0000000580)="2b9fc4c96293e1e4dca29904c62db0b30c1bf35835426ab18cee324ae1b1f8c7cf517640236120d33eccd9044cba40947b50f1d8c3220ab2572f0ba99c8b4028155e1236464d8663ad0775c9b49808198d7ca6a706d85c1c47d4afb6b41cf42c4f9214f20ada14c699a3d843117ec07d3b2321d72fd4560a2570436e313d43d5c88d202428b152e296922a7987340f6bffbe901953d192e7a7d5a6284f9d50b10143f76b56ae241204793de85011464a4bf2ff83312544bc35a2eb8edaab1a12a25b078f6dae5f781b598e72f1be9ba30f8ad174836608bba72b018cda91c0eba6d62e9ad2448ac44e0325dbe126ce2682c8c17af980bbf02bd5e23de39dab85844e920f3382f78acc840b98fb2c33e317497fa687b23dcc2edcfc78158fcc44dae112f63e6f218484ff15bb8092e59f2ef2a8ac31692a1d8e8de91c00d70fc221aea09addc8ea0ef38bcaa122e849c2ad2b632c2d061f825838ae286b330314b9b3f39386bc627f2b165e0f3da818e8ab8e1d9591e1fb5de55482946aa7d97b5feb6500b486b42245b4cde6c966a4312858dff04d4cf39bc536d1381f241461960a6697554c1601a72f27af1177b580d0e8c6b0bf3c58209ba2565392a91bfe2947796591f797ebb95b3b38cfffc650877d75622b85af4952797da65ecff9bf0c76a8cd8f9a74618c990d8cad5b35b8316baba10cb3f0eebec011616a814a8dc1f3691c67ae2d701f66b801ffa7d46cdc386ecfc52db9e7bfd0980020630e92a04c3e5a78b26d163583ab81e897b7a66636d3480bc0fd2d2fd116694635cdf7a740bc206e907e8c9238d95a0247fc28dce0bc20699465eda3c3c6ff99553c756171f4c6bf0feafc25f23d75561be71030ad0b29d6f06dee6d5d6040c13570e73a21ce40f6b1b53a2abf59ce4eab3b54cc50c42923bf380b52505d69720a8eb98f3b8f253ed3afa0a33aff86d1273da2de3cb26d70b1695ed556e6dccc05a40413e4dad08bd403f1c374e567d2522657214b1ea83ae802bd5cfdc96d7512d48fdea8a29d147d6745db7df305db6e3af87e9d90fb9e22811c3632c25c2afe0c36fb29d6025030c6f468fca96172b0cc967fc1769a41ab6a63120af593ac1aba77c8e4c8db7e25a5d5414e4389bebc071d1c71c0c2c0816d144237108612a9835e7c95d0a58d95854b3154acf78f145c4fbf69bab5a02a81aa617575bdf8aecc80776ef0f0a3601e3172ae5cc12bcc3953bfe1187c78fddc19d8216a52042260c2f143a34998f775f2ee8218e1d2a6d59fdae3ce00aa21cf44c713db5aa65e6e5d026ceba1f20ecd2c971df28051bbcd3ce5f267bc2c5d5608d951636bbad43cf755d1cf3829d331947434662485e4ee4f93307a6bb28632e9464608500fabce8542874bd32fee0a477229e493d31944fde7bd99efea08192d7badb51229efcfd1"}) r2 = timerfd_create(0x0, 0x0) shutdown(0xffffffffffffffff, 0x0) mount(&(0x7f0000000300)=ANY=[@ANYRESDEC=r2, @ANYRES32, @ANYBLOB, @ANYRES64, @ANYRES32=r0], &(0x7f0000000080)='./file0\x00', &(0x7f0000000040)='btrfs\x00', 0x0, 0x0) sendmsg$SEG6_CMD_SET_TUNSRC(0xffffffffffffffff, 0x0, 0x0) lsetxattr(&(0x7f0000000000)='./file1\x00', &(0x7f0000000200)=@known='trusted.overlay.redirect\x00', &(0x7f0000000280)='\x00', 0x1, 0x2) ioctl$KDGETKEYCODE(r1, 0x4b4c, 0x0) 17:42:09 executing program 5: socket$nl_netfilter(0x10, 0x3, 0xc) r0 = socket(0x3278b5ec42196f25, 0x0, 0x5) r1 = syz_genetlink_get_family_id$nl80211(0x0) sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000180)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000100)={&(0x7f0000000700)=ANY=[@ANYBLOB="68003eec94c38d82ec81000000906feda5c21c000000009df1669d8a367e000000100000064b5602b3fcb2231860c5fd", @ANYRES16=r1, @ANYBLOB="000429bd7000fbdbdf250600000000000300", @ANYRES32=0x0, @ANYBLOB="0000996d6a490de2efdaa12b"], 0x28}, 0x1, 0x0, 0x0, 0x4000000}, 0x4000080) r2 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r2, &(0x7f0000000240)={0xa, 0x4e21, 0x8000000, @private1}, 0x1c) perf_event_open(&(0x7f0000000000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={&(0x7f0000000200), 0x4}, 0x802, 0x0, 0x0, 0x9}, 0x0, 0x0, 0xffffffffffffffff, 0x0) clone(0x0, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) recvmmsg(0xffffffffffffffff, &(0x7f0000000280)=[{{0x0, 0x0, &(0x7f0000001140)}}], 0x1, 0x0, 0x0) fremovexattr(0xffffffffffffffff, &(0x7f0000000480)=@random={'system.', '&&]\x00'}) fstat(r0, &(0x7f0000000500)) lstat(&(0x7f0000000a40)='./file0\x00', &(0x7f0000000a80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_open_procfs(0x0, &(0x7f0000000140)='net/udp6\x00') r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockopt$inet_IP_XFRM_POLICY(r5, 0x0, 0x11, &(0x7f0000000600)={{{@in=@empty, @in6=@initdev, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@remote}, 0x0, @in=@empty}}, &(0x7f0000000340)=0xe4) sendmsg$TEAM_CMD_OPTIONS_SET(0xffffffffffffffff, &(0x7f00000002c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x40000000}, 0xc, &(0x7f0000004340)={&(0x7f00000007c0)=ANY=[@ANYBLOB="20002dbd7097daa5da28865900fedbdf2501001601ee47df00", @ANYRES32=0x0, @ANYRESOCT=r7, @ANYRES32, @ANYRES32=0x0, @ANYBLOB="40000100240001006c625f686173685f737461747300000000000000000000000000000000000000050003000b000000080004000000000008000700000000004c000100240001006c625f74785f6d6574686f640000000000000000000000000000000000000000050003000500000019000400686173685f746f5f706f72745f6d617070696e67000000003800010024000100616374697665706f727400000000000000000000000000000000000000000000050003000300000008000400", @ANYRES32=0x0, @ANYBLOB="38000100240000106d636173745f72656a6f696e5f636f756e740000000000000000000000000000050003000300000008b0ad921c88db6eb1fd330d020004000010000038000102240001006d636173745f72656a6f696e5f696e74657276616c00000000000000000000000500030003000000", @ANYRESHEX=r3, @ANYRESOCT, @ANYRES32=r6, @ANYRES16=r4], 0x220}, 0x1, 0x0, 0x0, 0x4040005}, 0x4000041) ioctl$sock_SIOCGIFVLAN_SET_VLAN_FLAG_CMD(0xffffffffffffffff, 0x8982, &(0x7f0000000300)={0x7, 'tunl0\x00', {0xd75}, 0xfff}) sendmsg$nl_route(r4, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000000380)=ANY=[@ANYBLOB="9000000010003b0c00000000feffffff00000000", @ANYRES32=0x0, @ANYBLOB="800000003212fe166ace3c8d440000000008000fad2f714d3e1fecfd286479fc350e8887fd028f66d3034c352e6bed717e04b41af5a9d4bfe80dee85097374ae0ed6abbf7db73d78de940aed5b4ebcc6345757c50d909adddebb09320fbdff2729a65c9bba9bc3b20f2cfd4dd52603926b690804ec0c9e7f72", @ANYRES32=0x0, @ANYBLOB="680012800b00010065727370616e00005800028006000f00fb03000008000700ffffffff050016000200000008001500657409000400120005001300000000000800040000000000080007007f00000108000100", @ANYRES32=0x0, @ANYBLOB="05000800800000000500170000000000"], 0x90}, 0x1, 0x0, 0x0, 0x8010}, 0x8000800) 17:42:09 executing program 0: syz_mount_image$hfs(&(0x7f0000000080)='hfs\x00', &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000200), 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB="02"]) r0 = socket$nl_crypto(0x10, 0x3, 0x15) sendmsg$nl_crypto(r0, &(0x7f0000000200)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000040)={&(0x7f0000000100)=@getstat={0xe0, 0x15, 0x200, 0x70bd28, 0x25dfdbfc, {{'xts-serpent-sse2\x00'}, [], [], 0x2000, 0x1000}, ["", "", "", "", "", ""]}, 0xe0}, 0x1, 0x0, 0x0, 0x10}, 0x40) 17:42:09 executing program 3: timer_create(0x0, &(0x7f0000000100)={0x0, 0x12}, &(0x7f00000000c0)) r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmmsg$inet(r0, &(0x7f00000007c0)=[{{&(0x7f0000000000)={0x2, 0x0, @private=0xa010101}, 0x10, &(0x7f0000000080)=[{&(0x7f0000000280)="be", 0x1}], 0x1}}, {{&(0x7f0000000180)={0x2, 0x0, @local}, 0x10, &(0x7f00000006c0)=[{&(0x7f0000000540)="d9", 0x1}], 0x1}}], 0x2, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000740)=@newlink={0x20, 0x11, 0x40d}, 0x20}}, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r1, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000340)=ANY=[@ANYBLOB="2000003107bcd00400"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000902dba50020efa6f0156d5eb40c5369958bdb75df3a0c4be953ccee7b7c7debc3572340c8fb620a405bb579e9e69ee2ae1128f6102c6375af44bda51b6582fef0c5893c821dc94704d3e287056ffb1c89ac9ae844ebe1eb3"], 0x20}}, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket$netlink(0x10, 0x3, 0x0) r6 = socket(0x40000000015, 0x5, 0x0) bind$inet(r6, &(0x7f00008a5ff0)={0x2, 0x0, @loopback}, 0x10) getsockname$packet(r6, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000080)=0x14) sendmsg$nl_route(r5, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000540)=ANY=[@ANYBLOB="4800000010000507000000000000000000000400", @ANYRES32=r7, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000480)=@RTM_GETNSID={0x44, 0x5a, 0x2, 0x70bd2c, 0x25dfdbff, {}, [@NETNSA_FD={0x8}, @NETNSA_PID={0x8}, @NETNSA_NSID={0x8, 0x1, 0x4}, @NETNSA_NSID={0x8}, @NETNSA_FD={0x8}, @NETNSA_FD={0x8}]}, 0x44}}, 0x0) r8 = gettid() write$RDMA_USER_CM_CMD_CREATE_ID(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x18, 0xfa00, {0x0, 0x0}}, 0x20) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) ioctl$SOUND_MIXER_WRITE_VOLUME(0xffffffffffffffff, 0xc0044d09, &(0x7f00000001c0)=0x27) tkill(r8, 0x1004000000013) 17:42:09 executing program 5: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) bind$bt_rfcomm(0xffffffffffffffff, &(0x7f0000000000)={0x1f, @any, 0x2}, 0xa) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x10000005, &(0x7f0000000200)={&(0x7f0000000040)=ANY=[@ANYBLOB="6c00000010003f08000000000000000000180000", @ANYRES32=0x0, @ANYBLOB="000492000000000044001a80080002800400018038000280340001800800190000000000080016000000000008001a000000000041fd0000000000000800000000000000080000000000000008001b"], 0x6c}}, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xd0009412, &(0x7f0000000240)={0x0, 0x9}) r1 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000001680)='/sys/kernel/debug/binder/transaction_log\x00', 0x0, 0x0) sendmsg$IPSET_CMD_DESTROY(r1, &(0x7f00000017c0)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000001780)={&(0x7f0000001700)={0x50, 0x3, 0x6, 0x301, 0x0, 0x0, {0xc, 0x0, 0x8}, [@IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x50}, 0x1, 0x0, 0x0, 0x8000}, 0x80) 17:42:09 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r1, 0x84, 0x64, &(0x7f0000000140)=[@in={0x2, 0x4e1d, @loopback}, @in6={0xa, 0x4e23, 0x9, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x40}, @in={0x2, 0x4e21, @loopback}, @in6={0xa, 0x4e21, 0x0, @private0, 0x1000}], 0x58) sendto$inet(r1, &(0x7f00003cef9f)='7', 0x1, 0x4014, &(0x7f0000618000)={0x2, 0x4e20, @loopback}, 0x10) r2 = fcntl$dupfd(r1, 0x406, r0) ioctl$EVIOCGPROP(r2, 0x80404509, &(0x7f00000001c0)=""/4096) getsockopt$inet_sctp6_SCTP_SOCKOPT_PEELOFF(0xffffffffffffffff, 0x84, 0x7a, 0x0, &(0x7f000034f000)) lremovexattr(&(0x7f0000000040)='./file0\x00', &(0x7f0000000080)=@random={'os2.', ' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}) getsockopt$inet_sctp_SCTP_MAX_BURST(0xffffffffffffffff, 0x84, 0xd, &(0x7f0000000000)=@assoc_value, 0x0) 17:42:09 executing program 1: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f00000002c0)="2e00000010008108040f80ecdb4cb9100a4803002e000000e8bd6efb250314000e000100240248ff050005001201", 0x2e}], 0x1, 0x0, 0x0, 0xa}, 0x0) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f0000000380)={0xffffffffffffffff, 0x0, 0x0}, 0x10) bpf$BPF_PROG_GET_FD_BY_ID(0xd, 0x0, 0x0) r2 = signalfd(r0, &(0x7f0000000040)={[0x8]}, 0x8) r3 = socket$inet6_sctp(0xa, 0x10000000005, 0x84) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r3, 0x84, 0x1d, &(0x7f000095dff8)={0x1, [0x0]}, &(0x7f000095dffc)=0x8) openat$apparmor_task_current(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/self/attr/current\x00', 0x2, 0x0) r5 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r5, 0x84, 0x72, &(0x7f0000000000)={r4}, &(0x7f0000000040)=0xc) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r2, 0x84, 0x72, &(0x7f00000000c0)={r4, 0xffffff01, 0x20}, &(0x7f0000000180)=0xc) [ 416.326682] hfs: unable to parse mount options 17:42:09 executing program 3: ioctl$PERF_EVENT_IOC_PERIOD(0xffffffffffffffff, 0x40082404, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40086602, 0x400007) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x7a05, 0x1700) perf_event_open(&(0x7f0000000000)={0x2, 0x70, 0x20, 0x2, 0x0, 0x0, 0x0, 0x0, 0xe0080, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x10000}, 0x0, 0x0, 0xffffffffffffffff, 0x0) bpf$MAP_CREATE(0x0, &(0x7f0000001480)={0x1c, 0x1000, 0x402, 0x7, 0x80, 0xffffffffffffffff, 0x401, [], 0x0, r0, 0xffffffff, 0x5, 0x2}, 0x40) write$cgroup_subtree(r1, &(0x7f0000000000)=ANY=[], 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) openat$cgroup_ro(r0, &(0x7f0000000080)='memory.current\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 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, @perf_config_ext={0x3, 0x7}, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(0xffffffffffffffff, 0x40086602, 0x400007) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) 17:42:09 executing program 5: r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f00000005c0)='./file0\x00', 0x0, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000bf0000000f00000001000000000000000000000000200000002000002000000029c4645f29c4645f0100ffff53ef01000100000029c4645f000000000000000001000000000000000b0000000004", 0x5a, 0x400}, {&(0x7f0000010300)="030000000400000005", 0x9, 0x800}, {&(0x7f0000010d00)="ed4100000004000029c4645f29c4645f29c4645f000000000000040002000000000000000500000025", 0x29, 0x1800}, {&(0x7f0000011100)="ed4100000004000029c4645f29c4645f29c4645f0000000000000200020000000000000003000000ff", 0x29, 0x4000}, {&(0x7f0000011700)="020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x39, 0x9400}, {0x0, 0x0, 0x3fc00}], 0x0, &(0x7f0000000180)=ANY=[]) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) unlinkat(r0, &(0x7f0000000100)='./file0\x00', 0x200) ioctl$KVM_X86_SET_MCE(0xffffffffffffffff, 0x4040ae9e, 0x0) r3 = syz_open_dev$mouse(&(0x7f0000000040)='/dev/input/mouse#\x00', 0x8, 0x82) mq_timedsend(r3, &(0x7f0000000140)="f6ec680466a7e14e00925adeaa85404b09e9244606d11c5e59128fbd17cc5c002351ec90a1ef24a08ba31b55ae7c277abc2b9f7c35425e5ca3fcf5039bed86b11afc583ccd8f960e5353e137bf15153916b9bf31d70bb180ab503f3d840b8a73b8b97452f33d7b12ea3c16ca5b746bda21e3db26f80d3fca58781c1f08477728b8fb5703179dc5684aa34c43e2179cdfb6e20c771c4aca670b", 0x99, 0x8000, 0x0) 17:42:09 executing program 0: socket$packet(0x11, 0x3, 0x300) pipe(&(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r2, 0x6, 0x10000000013, &(0x7f0000000180)=0x1, 0x233) setsockopt$SO_BINDTODEVICE(r2, 0x1, 0x19, &(0x7f0000000300)='sit0\x00', 0x10) connect$inet(r2, &(0x7f0000000000)={0x2, 0x0, @loopback}, 0x10) setsockopt$inet_tcp_TCP_REPAIR_WINDOW(r2, 0x6, 0x1d, &(0x7f0000000100)={0x0, 0xdf5, 0x21f6, 0x0, 0x37}, 0x14) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0xff01) splice(r0, 0x0, r2, 0x0, 0xb00, 0x0) 17:42:09 executing program 3: openat$procfs(0xffffffffffffff9c, &(0x7f0000000180)='/proc/diskstats\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = add_key$user(0x0, &(0x7f0000000200)={'syz', 0x3}, 0x0, 0x0, 0xfffffffffffffff9) keyctl$KEYCTL_PKEY_QUERY(0x18, r0, 0x0, 0x0, 0x0) r1 = syz_mount_image$vfat(&(0x7f0000000240)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000080)=[{&(0x7f0000000000)="eb3c906d6b66732e66617400028001000240000004f801", 0x17}, {0x0, 0x0, 0x600}, {0x0, 0x0, 0x10e00}], 0x0, &(0x7f0000000140)={[{@iocharset={'iocharset', 0x3d, 'ascii'}}]}) mkdirat(r1, &(0x7f0000000040)='./file1\x00', 0x0) lookup_dcookie(0x0, &(0x7f0000000440)=""/4, 0x4) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) 17:42:09 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x8}, 0x0) r1 = socket$inet6(0xa, 0x0, 0x0) recvmmsg(r1, &(0x7f0000008880), 0x0, 0x40012180, 0x0) pipe(&(0x7f00000003c0)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r2, 0x407, 0x0) write(r3, &(0x7f0000000480)="b0a3cdef47f59ec515de0fcb5dfc761cf7120c4312b2054efdc0cf574f65329a05d03a24674b1d94d072b4bd702c576dc1d6e4fef97bdd899d359dadcfe32ba24fb1e152533e4df2c20324dda85d95c102000000d81d2b9bea7f9e468b3da19d62e9913b2f7cd488de25886811470818af91afd3bce1422670d6f2d054d8b16374e3617a22b1c70e7e3104b814e24e6e7b62256ae8faaae5f59f840c029418a34c", 0xffffff47) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) sched_setattr(0x0, 0x0, 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(&(0x7f00000001c0)='\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/file0\x00', &(0x7f0000000340)='./file0\x00') r4 = creat(&(0x7f00000005c0)='\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/file0\x00', 0x0) r5 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) truncate(&(0x7f0000000240)='./file0\x00', 0x0) unlink(&(0x7f0000000040)='./file0\x00') sendmsg$unix(r4, &(0x7f0000000e40)={&(0x7f0000000140)=@file={0x0, './file0/../file0\x00'}, 0x6e, 0x0, 0x0, &(0x7f0000000640)=ANY=[@ANYBLOB="1c000000b8f80000010000b3", @ANYRES32=0x0, @ANYRES32=0xee00, @ANYRESHEX, @ANYRES32=r5, @ANYRES32=r4, @ANYBLOB, @ANYRES32, @ANYRES32=0x0, @ANYRES16=r5, @ANYBLOB="000000001c0000000000000001000000020000", @ANYRES32=0x0, @ANYRESDEC, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="810000000000000001000000", @ANYRES32=r0, @ANYRES32=0xee01, @ANYBLOB, @ANYBLOB], 0xc0, 0x4004090}, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x3fd, 0x0) 17:42:09 executing program 0: writev(0xffffffffffffffff, &(0x7f0000000000)=[{&(0x7f0000000140)="4800000014", 0x5}], 0x1) pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) r3 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000400)='/dev/ppp\x00', 0x101141, 0x0) ioctl$EVIOCGPROP(r3, 0xc004743e, &(0x7f0000000440)=""/245) r4 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000040)='/dev/dlm-control\x00', 0x80000, 0x0) setsockopt$inet_MCAST_LEAVE_GROUP(r4, 0x0, 0x2d, &(0x7f0000000240)={0x5, {{0x2, 0x4e22, @local}}}, 0x88) ioctl$PPPIOCSFLAGS1(r3, 0x40047459, &(0x7f0000000000)=0x4040) pwritev(0xffffffffffffffff, &(0x7f0000000080)=[{&(0x7f0000000140)="80fd02", 0x3}], 0x1, 0x0, 0x0) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2b3) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r6 = dup(r5) ioctl$PERF_EVENT_IOC_ENABLE(r6, 0x8912, 0x400200) splice(r0, 0x0, r2, 0x0, 0x10005, 0x0) 17:42:09 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f00000000c0)=ANY=[@ANYBLOB="3c00000410803bf67f32df000000000000", @ANYRES32=0x0, @ANYBLOB="00000000000000001c00128009000100626f6e64000000000c0002800500010006000000"], 0x3c}}, 0x0) 17:42:09 executing program 3: syz_mount_image$ext4(&(0x7f0000000100)='ext4\x00', &(0x7f0000000180)='./file0\x00', 0x3ffff, 0x3, &(0x7f0000000200)=[{&(0x7f0000000480)="200000000001005f830000000f00000001000000000000000000000000f4655f0100ffff53ef0100ed000000d0f4655f000000000000000001000000000000000b00000000020000000000000000000000000000000000000000e48e41b11010d0d5c089118fd8eb0764796cd2e16688e69b10ef6191a48c7b9e10665caadb48c7e34fe0566d8474ad134a5fdaef6461deebe90ce65e55efee93b86ced5e5a37ad258b4083e429ff646deb9e10ecd4c43095ecbb14dfbf3cf8db76e8aa96f9a4bcd1926bf68ef95bb6dc", 0xca, 0x400}, {&(0x7f0000000040)="0300000004000000d3", 0x9, 0x800}, {&(0x7f00000002c0)="ed41000000ed0000d0f46bdb7a5d8e11756fec3c35c20e7f98655fd1f4655fd1f4", 0x21, 0x1603}], 0x0, &(0x7f0000012900)=ANY=[]) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$VIDIOC_DBG_S_REGISTER(r1, 0x4038564f, &(0x7f0000000080)={{0x0, @name="5d7ac5d177b0bee29a4c10110fb062b8f3b623535dbfc66c15603d97fd16a147"}, 0x8, 0x3, 0x6}) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) io_setup(0x7f, &(0x7f0000000000)) r2 = socket$nl_route(0x10, 0x3, 0x0) getsockopt$IP_VS_SO_GET_DAEMON(r0, 0x0, 0x487, &(0x7f0000000300), &(0x7f0000000340)=0x30) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r2, 0x8933, 0x0) r3 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r3, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r4, 0x8933, 0x0) r5 = openat$cgroup(r1, &(0x7f00000001c0)='syz1\x00', 0x200002, 0x0) ioctl$FICLONERANGE(r4, 0x4020940d, &(0x7f0000000280)={{r5}, 0x4, 0x40, 0xff}) getsockopt$inet_sctp6_SCTP_I_WANT_MAPPED_V4_ADDR(r3, 0x84, 0xc, &(0x7f00000000c0), &(0x7f0000000140)=0x4) 17:42:09 executing program 5: sendmsg$NL80211_CMD_AUTHENTICATE(0xffffffffffffffff, &(0x7f0000000180)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000000140)={&(0x7f0000000040)={0xd4, 0x0, 0x300, 0x70bd26, 0x25dfdbfb, {{}, {@void, @val={0xc, 0x99, {0x401, 0x6f}}}}, [@chandef_params=[@NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x81}, @NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0xfffff001}, @NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x4}, @NL80211_ATTR_CHANNEL_WIDTH={0x8, 0x9f, 0x1}, @NL80211_ATTR_WIPHY_FREQ_OFFSET={0x8, 0x122, 0x140}, @NL80211_ATTR_WIPHY_EDMG_CHANNELS={0x5, 0x118, 0x22}, @NL80211_ATTR_WIPHY_FREQ={0x8, 0x26, @random=0x1478}, @NL80211_ATTR_WIPHY_FREQ={0x8, 0x26, @random=0x15b8}, @NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x1ff}], @NL80211_ATTR_MAC={0xa, 0x6, @random="68adccd04926"}, @chandef_params=[@NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0xffff0000}, @NL80211_ATTR_WIPHY_FREQ_OFFSET={0x8, 0x122, 0xc0}, @NL80211_ATTR_WIPHY_FREQ_OFFSET={0x8, 0x122, 0x153}, @NL80211_ATTR_WIPHY_EDMG_CHANNELS={0x5, 0x118, 0x1}, @NL80211_ATTR_WIPHY_EDMG_CHANNELS={0x5, 0x118, 0x8}, @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG={0x5, 0x119, 0xf}, @NL80211_ATTR_WIPHY_CHANNEL_TYPE={0x8, 0x27, 0x1}, @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG={0x5, 0x119, 0xc}], @NL80211_ATTR_SSID={0x1d, 0x34, @random="0dbfe64e5a778bb91cf8f065426146f4967385435464d4902f"}]}, 0xd4}}, 0x0) ioctl$EVIOCGREP(0xffffffffffffffff, 0x80084503, &(0x7f00000001c0)=""/4096) r0 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001200)='nl80211\x00') sendmsg$NL80211_CMD_SET_BSS(0xffffffffffffffff, &(0x7f00000012c0)={&(0x7f00000011c0)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f0000001280)={&(0x7f0000001240)={0x30, r0, 0x124, 0x70bd25, 0x25dfdbfc, {{}, {@val={0x8}, @val={0xc, 0x99, {0x800, 0x1a}}}}, [@NL80211_ATTR_BSS_HT_OPMODE={0x6, 0x6d, 0x400}]}, 0x30}, 0x1, 0x0, 0x0, 0x4000000}, 0x40) munmap(&(0x7f0000ff9000/0x4000)=nil, 0x4000) ioctl$VIDIOC_QUERYMENU(0xffffffffffffffff, 0xc02c5625, &(0x7f0000001300)={0xc0, 0x3, @value=0x5}) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000001340)='net/netstat\x00') ioctl$SG_NEXT_CMD_LEN(r1, 0x2283, &(0x7f0000001380)=0x3c) ioctl$TIOCGSID(r1, 0x5429, &(0x7f00000013c0)) r2 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000001400)='/proc/self/net/pfkey\x00', 0x80000, 0x0) ioctl$TCGETS(r2, 0x5401, &(0x7f0000001440)) sendmsg$IPVS_CMD_SET_CONFIG(r1, &(0x7f0000001540)={&(0x7f0000001480)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000001500)={&(0x7f00000014c0)={0x2c, 0x0, 0x10, 0x70bd2d, 0x25dfdbff, {}, [@IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0xb640}, @IPVS_CMD_ATTR_TIMEOUT_TCP_FIN={0x8, 0x5, 0x7}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x9}]}, 0x2c}}, 0x0) getsockopt$inet6_tcp_TCP_REPAIR_WINDOW(r1, 0x6, 0x1d, &(0x7f0000001580), &(0x7f00000015c0)=0x14) setsockopt$inet_sctp6_SCTP_RESET_STREAMS(r1, 0x84, 0x77, &(0x7f0000001600)={0x0, 0x8, 0x7, [0x2, 0x8, 0x0, 0xfffe, 0x9, 0x9c1, 0x100]}, 0x16) sendmsg$NL80211_CMD_NEW_INTERFACE(r2, &(0x7f0000001780)={&(0x7f0000001640)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000001740)={&(0x7f0000001680)={0xb4, r0, 0x1, 0x70bd2b, 0x25dfdbfd, {{}, {@void, @void, @val={0xc, 0x99, {0xfff, 0x80}}}}, [@NL80211_ATTR_IFNAME={0x14, 0x4, 'team_slave_1\x00'}, @mon_options=[@NL80211_ATTR_MNTR_FLAGS={0x18, 0x17, 0x0, 0x1, [@NL80211_MNTR_FLAG_PLCPFAIL={0x4}, @NL80211_MNTR_FLAG_COOK_FRAMES={0x4}, @NL80211_MNTR_FLAG_OTHER_BSS={0x4}, @NL80211_MNTR_FLAG_CONTROL={0x4}, @NL80211_MNTR_FLAG_OTHER_BSS={0x4}]}, @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa, 0xe8, @device_b}, @NL80211_ATTR_MNTR_FLAGS={0x10, 0x17, 0x0, 0x1, [@NL80211_MNTR_FLAG_ACTIVE={0x4}, @NL80211_MNTR_FLAG_CONTROL={0x4}, @NL80211_MNTR_FLAG_CONTROL={0x4}]}, @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa, 0xe8, @broadcast}, @NL80211_ATTR_MNTR_FLAGS={0x10, 0x17, 0x0, 0x1, [@NL80211_MNTR_FLAG_COOK_FRAMES={0x4}, @NL80211_MNTR_FLAG_FCSFAIL={0x4}, @NL80211_MNTR_FLAG_ACTIVE={0x4}]}, @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa, 0xe8, @broadcast}, @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa, 0xe8, @device_b}, @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa, 0xe8, @broadcast}, @NL80211_ATTR_MNTR_FLAGS={0xc, 0x17, 0x0, 0x1, [@NL80211_MNTR_FLAG_ACTIVE={0x4}, @NL80211_MNTR_FLAG_CONTROL={0x4}]}]]}, 0xb4}, 0x1, 0x0, 0x0, 0x200000c4}, 0x0) recvfrom$inet6(r2, &(0x7f00000017c0)=""/107, 0x6b, 0x10040, 0x0, 0x0) sendmsg$IPCTNL_MSG_CT_GET(r1, &(0x7f0000001900)={&(0x7f0000001840)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f00000018c0)={&(0x7f0000001880)={0x1c, 0x1, 0x1, 0x5, 0x0, 0x0, {0xc, 0x0, 0x9}, [@CTA_ZONE={0x6}]}, 0x1c}, 0x1, 0x0, 0x0, 0xc0}, 0x4040004) bind$rose(0xffffffffffffffff, &(0x7f0000001940)=@full={0xb, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @null, 0x2, [@rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @default, @null, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @null]}, 0x40) r3 = openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000001980)='/dev/ocfs2_control\x00', 0x2, 0x0) write$P9_RAUTH(r3, &(0x7f00000019c0)={0x14, 0x67, 0x1, {0x40}}, 0x14) [ 416.494178] EXT4-fs (loop5): mounted filesystem without journal. Opts: ,errors=continue 17:42:09 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={&(0x7f0000000100), 0x8}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) dup2(0xffffffffffffffff, 0xffffffffffffffff) r0 = openat$loop_ctrl(0xffffffffffffff9c, &(0x7f0000000000)='/dev/loop-control\x00', 0x0, 0x0) ioctl$LOOP_CTL_REMOVE(r0, 0x4c81, 0x0) r1 = socket$inet6(0xa, 0x401000000001, 0x0) close(r1) r2 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r1, r2, 0x0, 0x8000fffffffa) read$eventfd(r2, &(0x7f0000000040), 0x8) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') sendmsg$NL80211_CMD_SET_COALESCE(r3, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000580)={0x2c, r4, 0xe01, 0xfffffffe, 0x0, {{0x2}, {@void, @val={0xc}}}, [@NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xc, 0x3, 0x0, 0x1, [{0x8, 0x0, 0x0, 0x0, @NL80211_PKTPAT_PATTERN={0x4}}]}]}, 0x2c}}, 0x0) sendmsg$NL80211_CMD_GET_POWER_SAVE(0xffffffffffffffff, &(0x7f0000000440)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f00000003c0)={&(0x7f0000000380)={0x14, r4, 0x300, 0x70bd27, 0x25dfdbfc, {{}, {@void, @void}}, ["", "", "", "", "", "", "", "", ""]}, 0x14}, 0x1, 0x0, 0x0, 0x4000}, 0x40) ioctl$LOOP_CTL_ADD(r0, 0x4c80, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) gettid() socket$nl_generic(0x10, 0x3, 0x10) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f0000000340)={r5, 0xc0, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000080)=0x1, 0x0, 0x0, 0x0, &(0x7f00000000c0)={0x5}, 0x0, 0x0, &(0x7f0000000140)={0x5, 0x10, 0xff}, &(0x7f0000000180)=0x8, 0x0, 0x0, 0x0, 0x0, &(0x7f00000001c0)}}, 0x10) sendmsg$NL80211_CMD_CONTROL_PORT_FRAME(0xffffffffffffffff, &(0x7f0000000580)={0x0, 0xa, &(0x7f0000000240)={&(0x7f0000000480)=ANY=[@ANYBLOB='L\x00\x00\x00', @ANYRES16=0x0, @ANYBLOB="050000000000000000008100000008000300", @ANYRES32=0x0, @ANYBLOB="01008f913c1e64849d753771cd9de4ff9ae366008e8800ab303f50109478aac6659a61ecef0068000a00060008021100000100001c003300080000000802ffff0000"], 0x4c}}, 0x0) 17:42:09 executing program 1: clone(0x44001180, 0x0, &(0x7f0000000000), 0x0, 0x0) r0 = socket$inet6(0xa, 0x400000000001, 0x0) close(r0) r1 = open(&(0x7f0000002000)='./bus\x00', 0xc4042, 0x0) sendfile(r0, r1, 0x0, 0x200fc0) read$FUSE(0xffffffffffffffff, &(0x7f0000000040)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r1, &(0x7f0000002080)={0x50, 0x0, r2, {0x7, 0x20, 0x1, 0x400002, 0x34d, 0x480, 0x7fffffff, 0xb83}}, 0x50) [ 416.596091] EXT4-fs (loop3): VFS: Can't find ext4 filesystem 17:42:09 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, 0x0) sendmsg$nl_route(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000000)=ANY=[@ANYBLOB="4000000000bb31e10d0000000000000000", @ANYRESHEX=r1, @ANYRES64], 0x40}}, 0x0) 17:42:09 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000180)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) clone(0x2000000002000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r2 = socket$inet_smc(0x2b, 0x1, 0x0) setsockopt$IPT_SO_SET_REPLACE(r2, 0x4000000000000, 0x40, &(0x7f0000000380)=@raw={'raw\x00', 0xc01, 0x3, 0x1c0, 0x0, 0x5002004a, 0x0, 0x0, 0x0, 0x128, 0x3c8, 0x3c8, 0x128, 0x3c8, 0x3, 0x0, {[{{@uncond=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11], 0x60, 0x70, 0x98}, @common=@unspec=@CONNSECMARK={0x28, 'CONNSECMARK\x00'}}, {{@uncond, 0x0, 0x70, 0x90}, @unspec=@TRACE={0x20, 'TRACE\x00'}}], {{[], 0x0, 0x70, 0x98}, {0x28, '\x00', 0x4}}}}, 0x24b) recvfrom$inet6(r1, &(0x7f0000000000), 0x0, 0x40, &(0x7f0000000040)={0xa, 0x4e23, 0x6, @private0={0xfc, 0x0, [], 0x1}, 0x6}, 0x1c) 17:42:09 executing program 1: clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) perf_event_open(&(0x7f0000000500)={0x1, 0x70, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0xe, 0x16, &(0x7f0000000580)=ANY=[@ANYBLOB="61124c00000000006113500000000000bf2000000000000007000000080000003d0301000000000095000000000000006926000000000000bf67000000000000150600000fff07003506000043fe0000070600000ee60000bf050000000000001f650000000000006507000002000000270700004c0000001f75000000000000bf5400000000000007040000f0fff8ffad350100000000009500000000000000050000000000000095000000000000001c0a7900009d3c2792138e042ce31c2b7ae994a5642cb064ecd5615f3196e3359aceb768637e60bd5d2e4b5992de991371274fdff6e79fc722e25659a7c85615c1b88bc894123cfe3614e887ffffff7f381ef4932cb0dcebea6d90e9c1677fbefd35893d883a2c559b7a34db461b1974af360eace66cec40d92706d0bbcc5bf6fec345ae9606c3c1a348f9b395592c1018e5e4b41b13000c94df1f2db24c67d4c7ba9ec035883e2791a9e9dff3e8bfc7d1be00000082018f5f4b2c00000000000000387a601e3a3412086dee84efd375f0645f3301f55d3b9efdfbed9b430bcf0418e100bdff1c8bcfc0c229874bc3d2418bab997c8bef9aa55841caa572ddff9220c67c9e17bee524c3dc747445763ecb0a7f2cd12bc34b0fc6271124cfb5279195f701000000f77c71294bbfd85878726c49eb89085967722da6cb884d1afe82f7f722e38397996271700241094d272dd8b754b2dd36d44f92991a7817450bc7921dd372e621dd447b86e7ffd1bdc198deb495cac0995ca3ef6c1affb693ae366b0f11db6ee4830db4713e5ce6cac6a27e29f171b8e9f172c3db24558d77b8bf18be45c50b3fc005fa7b134dfc948f6015e0389d7f34cb9c02cf517c8ed7a9b6159c1446ef1c2ccff2bde95aa860ed9b836d6b8fcab7663d9bd8415e6f90fdb007b8f3e078e3a638c4fdb8562eb85173720c1df1147c9f5013c82fc98604bd70cd56609a6b73943748a90002d9cf81bcb1d262845762f6b0a284cc463b42492bab0f7b25895cc3ba8bf0b5e0fc018463d03a73fa85429725545128b0e9b550a13d0dd35092250bbce4f618cad2375a34c7f15c3096f3e9004468cf1aba4a6f21ed0eb3681c6963205eefc072ab79ad8b126500419e25a94ce13a7a96deac79c90b8df10b1e364cf97eaa49fd2294320fad0d814f230f954eec844f6b658ee04ebfc6d655a3383928d6e0307a7097b0a5fa5040958d2b7ad0eb7605a733988781a7b28ba393184673e1e8db5ede7ce9cf0e6b472d764976fbf7c7168bedc28d887c98ea9df88fd83dac8b9273976bfd6090de0a73cf8a9b2c23500a4054703e2df18d8498356e3c1cd6418e149f8a22e95da26221d8a69b642915471f4917571357aa9df385c0532d6e70263ec616f88dc8f93c886ede7743c53d738b9c7021f0032970eabd2808c53128b3eb600f2614256184c506454980e542ce450029aa6de147a8c81e6f701a4b9b278b08e4b027253003b5f079c91e9b01dba341d9015ed95c731a17717f96413054f2d1b5f2ba0c49567b53db5d862acf2c42faa37c4a8738f64ed7fef9ffba58a3c1ca52b55aef071e4f"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000040), 0x1f1}, 0x48) exit(0x9fff) open(&(0x7f00000000c0)='./file0\x00', 0xc0180, 0x80) r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$sock_SIOCGIFVLAN_SET_VLAN_INGRESS_PRIORITY_CMD(r0, 0x8982, &(0x7f0000000080)={0x2, 'veth0_virt_wifi\x00', {0x7ff}, 0x5}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000180)) ioprio_get$pid(0x0, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) 17:42:09 executing program 3: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5d7d, 0x0, @perf_config_ext={0x0, 0x3}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) pipe2(0x0, 0x80000) r0 = openat$loop_ctrl(0xffffffffffffff9c, &(0x7f0000000000)='/dev/loop-control\x00', 0x0, 0x0) ioctl$LOOP_CTL_ADD(r0, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r0, 0x4c81, 0x0) syz_mount_image$nfs4(0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0) ioctl$sock_SIOCSIFVLAN_DEL_VLAN_CMD(0xffffffffffffffff, 0x8983, &(0x7f0000000180)={0x1, 'veth1_to_team\x00', {}, 0x3f}) ioctl$BTRFS_IOC_QGROUP_ASSIGN(0xffffffffffffffff, 0x40189429, &(0x7f00000003c0)={0x0, 0x4, 0x141}) ioctl$sock_ax25_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000000080)={@remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x0}, 0x4, [@bcast, @null, @default, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @bcast, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @null, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}]}) r1 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000000140)='/dev/vhost-vsock\x00', 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r1, 0xaf01, 0x0) ioctl$VHOST_SET_MEM_TABLE(0xffffffffffffffff, 0x4008af03, &(0x7f0000000040)=ANY=[@ANYBLOB="d52a05b381b605a00ee3ca80ff8f71793a6631ff10641c97b03939d836"]) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='rdma.current\x00', 0x275a, 0x0) dup2(r2, r1) [ 416.653148] print_req_error: I/O error, dev loop3, sector 0 [ 416.658968] Buffer I/O error on dev loop3, logical block 0, async page read [ 416.677691] print_req_error: I/O error, dev loop3, sector 4 [ 416.683523] Buffer I/O error on dev loop3, logical block 2, async page read [ 416.692055] print_req_error: I/O error, dev loop3, sector 6 [ 416.697797] Buffer I/O error on dev loop3, logical block 3, async page read 17:42:09 executing program 1: perf_event_open(&(0x7f000001d000)={0x3, 0x70, 0x0, 0x4a, 0x3, 0x0, 0x0, 0x8002, 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, @perf_bp={0x0}, 0x0, 0x3}, 0x0, 0xfffffffffffffffe, 0xffffffffffffffff, 0xb) r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_NEW(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f00000001c0)={0x5c, 0x0, 0x1, 0x40b, 0x0, 0x0, {0x2}, [@CTA_TUPLE_ORIG={0x24, 0x1, 0x0, 0x1, [@CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @dev}, {0x8, 0x2, @loopback}}}, @CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5}}]}, @CTA_TUPLE_REPLY={0x24, 0x2, 0x0, 0x1, [@CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @initdev={0xac, 0x1e, 0x1, 0x0}}, {0x8, 0x2, @private}}}, @CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5}}]}]}, 0x5c}}, 0x0) r1 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000080)='/dev/btrfs-control\x00', 0x45a000, 0x0) ioctl$TCSETA(0xffffffffffffffff, 0x5406, 0x0) r2 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r2, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) getsockopt$inet_sctp_SCTP_RTOINFO(r1, 0x84, 0x0, &(0x7f0000000000)={0x0, 0x3f, 0x7, 0x1}, &(0x7f0000000040)=0x10) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r2, 0x84, 0x72, &(0x7f00000010c0)={r3, 0x4}, &(0x7f0000001100)=0xc) setsockopt$ARPT_SO_SET_ADD_COUNTERS(r2, 0x0, 0x61, &(0x7f0000001140)={'filter\x00', 0x4}, 0x68) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f00000000c0)) lstat(&(0x7f0000001300)='./file0\x00', &(0x7f0000001280)) 17:42:09 executing program 3: syz_mount_image$vfat(&(0x7f00000002c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="601c6d6b646f736617e43c00088020000200000004f8000020004000000000000000000001", 0x25}, {0x0, 0x0, 0x200000000011000}], 0x0, &(0x7f0000000240)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') getitimer(0x1, 0x0) open(&(0x7f00000001c0)='./file0\x00', 0x0, 0x1cc) r0 = socket$inet6(0xa, 0x401000000001, 0x0) close(r0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r0, r1, 0x0, 0x8000fffffffa) ioctl$PERF_EVENT_IOC_DISABLE(r1, 0x2401, 0x20) r2 = open(&(0x7f0000000080)='./file0\x00', 0x141042, 0x0) write$binfmt_elf64(r2, &(0x7f0000000140)=ANY=[], 0x82) open(&(0x7f00000001c0)='./file0\x00', 0x0, 0x0) r3 = open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) clock_settime(0x1, &(0x7f00000000c0)={0x77359400}) write$binfmt_elf64(r3, &(0x7f0000000180)=ANY=[], 0x82) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000180)={0xffffffffffffffff}) r5 = dup(r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) ioctl$PPPIOCGIDLE(r5, 0x8010743f, 0x0) ioctl$DRM_IOCTL_SWITCH_CTX(r5, 0x40086424, 0x0) 17:42:09 executing program 5: perf_event_open(&(0x7f0000000900)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) gettid() r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='net/nf_conntrack\x00') socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) syz_genetlink_get_family_id$nbd(&(0x7f0000000200)='nbd\x00') fcntl$setsig(r1, 0xa, 0x12) socket$inet(0x2, 0x4000000000000001, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000080)='loginuid\x00') r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') sendmsg$NL80211_CMD_SET_COALESCE(r3, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000580)={0x2c, r4, 0xe01, 0x0, 0x0, {{0x2}, {@void, @val={0xc}}}, [@NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0xc, 0x3, 0x0, 0x1, [{0x8, 0x0, 0x0, 0x0, @NL80211_PKTPAT_PATTERN={0x4}}]}]}, 0x2c}}, 0x0) sendmsg$NL80211_CMD_PEER_MEASUREMENT_START(r0, &(0x7f00000002c0)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000280)={&(0x7f0000000980)=ANY=[@ANYBLOB="bc0f0000", @ANYRES16=r4, @ANYBLOB="10f7482f2b94", @ANYRES32=0x0, @ANYBLOB="0c009900f10400004a000000180305804c020080480203807801018030000180040009000500060003000000050006000500000004000100050006001e00000004000a00060004000100000010000180080002000300000004000a000800018004000b0018000180060004000700000004000a000400090004000800400001800400080004000a0004000a0005000500030000000500030001000000050005000700000008000200020000000400090004000b00050003000b0000003c00018004000900050006000500000005000700010000000400090008000200020000000400010005000600140000000400010004000a00040008004c0001800400010008000200040000000800020001000000050006000b00000004000b000800020003000000060004000080000006000400f0ff000005000500080000000500060011000000380001800800020002000000060004000900000006000400000800000600040009000000050003000600000004000a0004000900040008000c00018005000700060000000800018004000100c800018030000180080002000100000004000a00050003000f00000004000100050003000c000000050006000d00000004000a000c00018005000500000000002800018005000500000000000400090006000400fcff000004000100050005000f00000004000a0028000180080002000100000005000700b40000000400010004000b00050003000c00000004000b00200001800400090004000900050006000c00000004000b0008000200020000001800018004000a0004000b0004000b0005000300010000000400020038000080340003803000018014000180050007001f000000050007003f00000018000180080002000000000004000a0004000900040009009000008074000380040002006c0001800c000180050007003f0000004c00018004000800050005000f0000000500070007000000050003000c0000000600040021ae0000060004009e0d00000500030001000000050007000000000004000a000500060018000000100001800400090006000400050000000a000100ffffffffffff00000c00038004000200040002007c0c05805c0000800a0001000802110000000000340002800800270003000000050018012f000000050019010900000008002600ad16000008009f00010000000800a000010000000a000100ffffffffffff00000a0001000802110000010000ec0100800a000100ffffffffffff0000d0010380a80001801c00018004000a000400010004000900040001000800020002000000200001800400080004000a0005000700ef00000004000a000600040003000000300001800400090004000900050005000600000008000200040000000500070009000000060004000900000004000b002400018004000100050006001a000000060004000800000004000b0005000500030000001400018004000b0004000b000400090004000a002001018024000180050005000d0000000400090004000800050003000e00000004000b0004000b00280001800400010004000b00080002000400000005000600060000000400080008000200030000004000018004000a00050006001a000000080002000200000004000900050007001700000004000b0005000500040000000500050005000000050006001a0000001800018004000b00080002004f2d578d06000400370000002000018006000400070000000400010004000100040009000400010004000b00180001800400080004000a00080002000200000004000a00340001800500050006000000050005000500000004000800050005000a0000000400090004000b0004000a0004000a00040001000c000180050003000e000000040002000c000280050019010a000000100000800a000100080211000000000000030080280103800400020004000200380001801c00018004000800060004000700000004000a0008000200020000001800018004000100050006000900000005000500020000007c0001800c00018006000400090000001800018004000800040001000800020000000000040001000c000180050005000d0000000400018044000180050003000d000000050003000500000004000900050005000700000004000800050007008100000004000b0004000800050005000b00000008000200000000000400020004000200600001801400018005000700f800000008000200000000000800018004000b0040000180050003000b00000008000200030000000500050009000000080002000200000005000500030000000500030008000000040009000400090004000a0054000280050018011f00000008002600021700000800a000008000000800a00000080000080027000100000008002201f70100000800a0008000000005001901060000000800a0002c3e000005001901090000004c00028008009f0000000000050018012f0000000800a100040000000800a00007000000050018012c0000000800270003000000080022018103000008002600df16000008009f00040000000a0001000802110000010000080003800400020008000380040002000c0103800401018020000180050007003f00000005000700400000000400010008000200020000001c00018005000300020000000400010004000a0004000a0004000800180001800800020004000000080002000100000004000a001800018004000b0004000100050003000c000000040001002c00018005000700ff00000005000700080000000500030002000000050006001d000000080002000400000014000180050007000900000006000400030000000c000180050003000b0000003800018004000b00050005000000000004000a00040008000600040000000000060004000008000004000a000400010004000900040008001000018004000b000600040008000000040002000a0001000802110000010000980100800c00028005001901070000000a00010008021100000100000a0001000802110000010000140002800800a0005d0000000800a100030000000c000380040002000400020014000380040002000400020004000200040002000c000280080026006c0900003001038004000200280101803000018005000600030000000400080008000200010000000500050002000000050006000200000004000900040001000c00018005000600000000003c0001800500060016000000050007000900000004000b00060004007b00000006000400fcff00000400090004000b000400080004000b0004000b0028000180050003000100000004000100050003000f000000050003000300000006000400040000000c00018008000200040000001c00018004000900050007001f000000060004000800000004000a003c0001800400090004000100060004000800000004000a0004000b00080002000200000004000100040009000800020003000000050007009300000020000180060004000100000004000a00050007003f0000000500070003000000540100804c0002800800a000ff07000008002600f316000008002201b9010000050018013b0000000800270003000000080027000100000008009f00020000000800a00008000000050019010b0000000401038000010180380001800500060000000000040001000800020003000000050003000c0000000400090004000a0005000700ff00000005000600030000001c00018004000b00050005000200000004000a0005000500010000000c00018004000b0004000800180001800800020002000000050006001b00000004000800240001800400010004000b00040008000500050007000000050005000d000000040009002800018004000a0004000a0006000400030000000500060013000000040009000400010004000b000c00018005000500080000002c00018004000a000500030004000000050006001700000004000a000400080008000200000000000400080044020080d40103808000018028000180050005000d000000040001000400090004000b0004000b000400010008000200010000002400018004000100050006001e000000050005000a00000004000a00050006000f0000001400018004000800050005000a000000040001001c0001800500070007000000050003000a0000000500070002000000a8000180280001800600040007000000050005000e000000050006000800000004000b000400090004000a001c0001800500060019000000050005000300000008000200010000000800018004000900080001800400010014000180060004000500000004000800040008001800018004000800050005000700000008000200030000001c000180080002000400000004000b00040001000400010004000a000800018004000a00a80001801800018004000a0004000a00080002000000000004000a0018000180080002000000000004000b000500070020000000200001800400080005000300030000000400010004000a00060004003e00000048000180060004000500000005000300050000000500030001000000080002000300000004000100080002000300000004000a0008000200020000000400080008000200000000000c00018005000300060000000a00010008021100000000003400028008009f0007000000080027000100000005001801360000000800a000ff0100000800a10002000000050018010b0000002c000280050019010c000000050018012800000005001801120000000800a00002000000080026006c090000f00100802800038004000200200001800c00018005000700420000001000018006000400fdff000004000a00840103805c0001801000018004000b00040008000400090010000180050007001f00000004000a0014000180050003000000000006000400ff7f00001800018004000800050005000d00000006000400010000000c000180050003000600000004000200140101800c00018005000300030000002400018005000300020000000400080005000700810000000500030009000000040008002c00018004000800040001000500030008000000050005000d00000005000300080000000500070007000000180001800800020004000000050005000f0000000400090020000180050007000000000006000400050000000500070081000000040009000c0001800500050004000000100001800400090006000400090000001c0001800500070080000000050005000c000000080002000200000020000180050007009d000000050006000f00000004000900050006000400000024000180060004000800000004000800050005000b00000004000800050006000f0000000400020004000200040001803400028008009f0002000000080022018703000008002700010000000500180128000000080026006c09000008002700030000000a0001000802110000010000"], 0xfbc}, 0x1, 0x0, 0x0, 0x800}, 0x28009000) r5 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/vm/compact_memory\x00', 0x1, 0x0) sendfile(r5, r2, 0x0, 0x1) read$usbmon(r2, &(0x7f0000000140)=""/176, 0xb0) r6 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r6, 0x8933, 0x0) ioctl$sock_SIOCOUTQNSD(r6, 0x894b, &(0x7f00000003c0)) clock_nanosleep(0x1, 0x0, &(0x7f0000000040)={0x0, 0x989680}, &(0x7f00000000c0)) bind$bt_rfcomm(r2, &(0x7f0000000380)={0x1f, @any, 0x1}, 0xa) 17:42:09 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000380)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r2, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) accept4$netrom(r2, &(0x7f0000000000)={{0x3, @bcast}, [@rose, @default, @bcast, @bcast, @bcast, @null, @bcast]}, &(0x7f00000001c0)=0x48, 0x800) setsockopt$pppl2tp_PPPOL2TP_SO_SENDSEQ(0xffffffffffffffff, 0x111, 0x3, 0x1, 0x4) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000032000/0x18000)=nil, &(0x7f0000000280)=[@text32={0x20, &(0x7f0000000140)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8dd0f0f6300bfc7442402c43a727fc7442406000000000f011424f30f090f013a360f0666b8c0008ec066baa100ed", 0xc62f98480d383858}], 0x1, 0x0, 0x0, 0x0) r3 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f0000000080)={[0x0, 0x0, 0x40000007, 0x0, 0x0, 0x0, 0x4c9]}) ioctl$KVM_RUN(r3, 0xae80, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) 17:42:09 executing program 1: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/key-users\x00', 0x0, 0x0) socket$inet_udp(0x2, 0x2, 0x0) ioctl$DRM_IOCTL_AGP_RELEASE(0xffffffffffffffff, 0x6431) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x8000, 0x5}, 0x0, 0x0, 0x1000}, 0x0, 0xfbffffffffffffff, r0, 0x0) getsockopt$inet6_tcp_TCP_REPAIR_WINDOW(0xffffffffffffffff, 0x6, 0x1d, &(0x7f0000000080), &(0x7f00000000c0)=0x14) sendmsg$nl_generic(0xffffffffffffffff, 0x0, 0x0) clone(0x80000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) wait4(0x0, 0x0, 0x80000000, 0x0) r1 = gettid() tkill(r1, 0x39) socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$inet_sctp6_SCTP_RECVRCVINFO(r0, 0x84, 0x20, &(0x7f0000000040), &(0x7f0000000180)=0x4) sendmsg$sock(0xffffffffffffffff, &(0x7f0000000700)={0x0, 0x0, &(0x7f00000002c0)=[{0x0}, {&(0x7f00000005c0)="5fae6d434b6ec40a2571c060c77862cc78691c3b03aa8b0ac301cb7839702a6f1bde7901789ac96e2d96640f45e19a7236d28491a63ca9b9f7ef89cbdaf357efac08fc7bdb694ce648bc9d081fb4c8e156ce5aa3c2b02ad4aab60662f099b633e50007406242e7f0b038105043dec0e51da7c2383137cfe23aa6db3267072f66af9c386ed96f986007e6bda5fdf01efd256f643f234524ed", 0x98}], 0x2, &(0x7f00000006c0)=[@timestamping={{0x14}}, @timestamping={{0x14, 0x1, 0x25, 0x7ff}}], 0x30}, 0x40800) mknodat(0xffffffffffffffff, 0x0, 0x0, 0x0) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, &(0x7f0000000940)={0x18, 0x5, {0x3, @usage, 0x0, 0x8, 0xffffffffffffff60, 0x0, 0xffffffffffff0001, 0x7f, 0x0, @struct={0x0, 0xd10}, 0xfffffffb, 0x0, [0x0, 0x0, 0x0, 0x3, 0x5]}, {0x7f7d, @usage, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x20, @usage=0xb1, 0x0, 0x0, [0x0, 0x0, 0x0, 0x5, 0x1, 0x3ff]}, {0x3, @struct, 0x0, 0x0, 0x3ff, 0x0, 0x0, 0xf7a, 0x400, @struct={0x0, 0x3f}, 0x1, 0x0, [0x0, 0x0, 0x55, 0x4, 0xffffffffffffffff, 0x2]}, {0x2}}) sync() 17:42:09 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = socket$kcm(0xa, 0x5, 0x0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = open(&(0x7f0000002000)='./bus\x00', 0xc4042, 0x0) sendfile(r1, r2, 0x0, 0x200fc0) ioctl$DRM_IOCTL_MODE_GETPROPBLOB(r2, 0xc01064ac, &(0x7f0000000040)={0x1, 0x4, &(0x7f0000000000)=""/4}) sendmsg(r0, &(0x7f00000006c0)={&(0x7f0000000100)=@in={0x2, 0x0, @dev}, 0x80, &(0x7f0000000700)=[{&(0x7f0000000440)="c4", 0x1}], 0x1, &(0x7f0000000380)=ANY=[@ANYBLOB="18000000a796eb000000008400004000f60d"], 0x18}, 0xfc) close(r0) 17:42:09 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000180)='dctcp\x00', 0x6) r2 = syz_open_procfs(r0, &(0x7f0000000040)='net/unix\x00') r3 = syz_genetlink_get_family_id$nl80211(&(0x7f00000001c0)='nl80211\x00') sendmsg$NL80211_CMD_SET_WDS_PEER(r2, &(0x7f00000002c0)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000000280)={&(0x7f0000000200)={0x68, r3, 0x1, 0x70bd2a, 0x25dfdbfe, {{}, {@void, @void}}, [@NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MAC={0xa, 0x6, @random="063f19568cc0"}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MAC={0xa, 0x6, @from_mac}, @NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_MAC={0xa, 0x6, @random="8381da20ff08"}]}, 0x68}}, 0x8004) r4 = creat(&(0x7f0000000300)='./bus\x00', 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000780)=ANY=[@ANYBLOB="00800000e6", @ANYBLOB="0cb98af91993006a9cc668343b0c2d06000000000000009cbedc38d4eb6394dedcaaf09c713f5455b1beb4d4a9c61f5c9568af978050643f54085c51a18bebd52637b7"], 0x10132) fallocate(r4, 0x0, 0x0, 0x4000) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) bind$inet6(r1, &(0x7f00000000c0)={0xa, 0x4e20, 0xffff58a0, @remote, 0x8}, 0x1c) ioctl$KVM_SET_ONE_REG(0xffffffffffffffff, 0x4010aeac, &(0x7f0000000100)={0x5, 0x2ef}) ioctl$KVM_IOEVENTFD(r2, 0x4040ae79, &(0x7f00000003c0)={0x5000, &(0x7f0000000340), 0x0, r1, 0x1}) [ 416.897997] FAT-fs (loop3): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 17:42:09 executing program 5: r0 = creat(&(0x7f0000000040)='./file0\x00', 0x0) r1 = fanotify_init(0x0, 0x0) arch_prctl$ARCH_MAP_VDSO_X32(0x2001, 0x6) r2 = syz_genetlink_get_family_id$devlink(&(0x7f00000000c0)='devlink\x00') ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000100)={0x7f, 0x7, {0xffffffffffffffff}, {0xffffffffffffffff}, 0x100000001, 0x7fff}) sendmsg$DEVLINK_CMD_RELOAD(r0, &(0x7f0000000280)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000140)={&(0x7f00000001c0)=ANY=[@ANYBLOB='\x00\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="000826bd7000fedbdf25250000007063690011c43740b705ac104c67d5f16000f800303030303a30303a31302e300000000008008c0000006d30000008008b0000000000", @ANYRES32=r3, @ANYRES64=r3], 0x60}, 0x1, 0x0, 0x0, 0x4}, 0x10000004) r4 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFQNL_MSG_CONFIG(r4, &(0x7f0000000500)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)={0x28, 0x2, 0x3, 0x801, 0x0, 0x0, {}, [@NFQA_CFG_PARAMS={0x9}, @NFQA_CFG_CMD={0x8, 0x1, {0x1}}]}, 0x28}}, 0x0) sendmsg$IPCTNL_MSG_CT_GET_STATS_CPU(r4, &(0x7f0000001700)={&(0x7f0000001640)={0x10, 0x0, 0x0, 0x20000000}, 0xc, &(0x7f00000016c0)={&(0x7f0000001680)={0x14, 0x4, 0x1, 0x401, 0x0, 0x0, {0x2, 0x0, 0x1}, [""]}, 0x14}, 0x1, 0x0, 0x0, 0x8ce5ef6c02fc5e9f}, 0x4000050) perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x3) r5 = openat$cgroup_ro(r0, &(0x7f0000000000)='memory.current\x00', 0x0, 0x0) ioctl$TIOCNOTTY(r5, 0x5422) fanotify_mark(r1, 0x2000000000000001, 0x2, r0, 0x0) preadv(r0, &(0x7f0000000240)=[{&(0x7f0000000340)=""/114, 0x72}, {&(0x7f00000004c0)=""/77, 0x4d}, {&(0x7f0000000540)=""/163, 0xa3}], 0x3, 0x2, 0x6) ptrace$setsig(0x4203, r3, 0x81, &(0x7f00000002c0)={0x1d, 0x1, 0x30}) r6 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r6, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) sendmsg$AUDIT_USER(r6, &(0x7f0000000440)={&(0x7f00000003c0)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f0000000400)={&(0x7f0000000600)={0x1010, 0x3ed, 0xd2d, 0x70bd26, 0x25dfdbfd, "9878d0d73413a2b860d5902faa490e23cafdbc288e6c225ede19cf4aef4b0e6c3745cc0e1dbf9df25a58fc52aa7ccdb5a82b4e130146ef2e5714b86b09dff5a6ba71d4b68b680d8705421677fd3abdf2799f60dc75c605c81cfbbb377dfdfee28285da0814d65099c57a41b9296a63685b175aa7e6ff081ba343b257ef5c4265aa7a65702353f4c524c5cc001e82850f7c7c68580bcfc4e37b3c38efb6b88f4769d8799e9a2d44c09193d3945754af40a293a5990ea2494c8d4c8867869e35126b4d0a8cccb5aacf4bcb757d938c424c2d51d838998c3bc89b90527510e10bda26762a081eb1d368bca0d48f92e33fba7caed02f57bd552a114e765ca744a731622d575210027cc1c1d9e51fa1465303c7d1af17109aa999c9b2fbcfdfc3eaec6da247576ad77292eaeb0c0c55aeebdf0c666d6d945f06e9bb542838d929cc876851e9a7872f23d608a5105f4c0cef23fe98dbb4150ad6b60c19e6ab4ec5b5a01e6f1c788f05361a5373531ce5e04bd9602d08fa0cb21e2b952a2c6afb84a6c846c7add11f4c302a64f3c3b890593e56042c75babf1b9364b0920386f5ef9987b46f273077f2ee1836b3aabf5bda915864d86d6bd11516f194bcd76ed991caedc8e8acf993a63046805d53423ab0d80d5b178a01a2c4bd35f53ff4eb373def36fda220d570c5a0cfd00ca0f0c71c6404edea6eddbc6694040f9d9af5a312455da4433a2aa403589e3436a4e5c556148af225758b4dcde8a34b4814a83cfddf5d043bec5fef350a98159a444a1469f28b88a14c32ea7d7acd52add29230715755bb4d8626d8ce5ef05446be7ac5f664e7f8831d36062ee73e90c9ba86f66085889ccf700fc8b8c2378b9d4891f55ce97f9edb98aae5b164143423be4368f44d831e2c3c25baaaa47883927dd6e7c83a4ff395dbae180e7b873f1d5fcc9886fff8c8d8e20123cda298a6c70a01c0b3e21226144b9df77cba0b14f2ea28bc59bd14de3fe1824121aedc6bd57600d93cf92505238f92f99cc1d48a33b5429f7d168287c088ae549789e2fbc240136ebd4d6bb266fa2ca434a81c0b08fb57a85763cddd6689090b00272698e332f2495353e8f04add48cded4fe6eabd9e2a84fb687fd8fdb14140f89d336ec1c5a7357f4a0caedd7485ec2bfea5286710552c20441802b2aa6ae3bee6376e263c6576702cd3048b7cdee42df96f3ecba265bf6d28c6154fd52e3982efa91875e95ccc4a634c5a4ce680aa71518ce9876c2854e0495722e533028257444fff413013f154d45ae98b9ad185c19460cdacca5600b34fa2a0dc3c62dd3ce5832d507dacd988aafe91a38df80bf983afb18d7358c776530081438ddaa32d970d7e680ed00808321d41e639ee345f4c4306984071857f0440edb2f5afdf29c726c74dec469bded41aaefd7b47c9e8fb3a74fe493502074401dada97711e934ddfcfb6c8563139b0c8a64ad25a1e22f2bce370520c8413411bd09d4371eefd34d0443dffd8db5c08c49762fe5405fe2e937363adfde524b548aecfb2e44b8cfaceb2c957d87190253103708f66d178c3f6d4091be078bccdd0173eb621e23dcc2ea6e2b168bbd3f71bec8ada23fc21263bf12d1e2559aca8688846acd6b6b50967262ed18192466cd1f86f171e7ffd2596fcd2d4608449a990a770b2729fe3b1e9a68b27904d659b4826be134391c47a754ce8d6740c5e1047cd01b355b0cd300f4cfa1e68b5b0f5f1dc1aee728c0741cc303cab76c4568b514a7e0cf498d9d7d0d6846e273abfcff8d5c8600dbd5ab10644271984cd9bd79cf291fe9e156c80a2017e0009e9e5196b1525778eeed99e61d1b9de84afee4d8e0787cc137bccfe5e9159702b487d39463e602f3c0eb0d1be03f9809f56f1de8f851f1153ec8fe12955b3761bbb328f68afa9fb5719f3a806d7ad20002fd45e02988c799b67f99f5cda07fb6534cba4be1af487830f3124b6eb440d35632453cf189ecc1b1c9a5594fdb7d553a4a4b85645fccc9801b45b32cf3683fda1d65f6e83a2dafbdd663493bc39384bd0b01cad1c244f97a09853f0b449f1e6fd762bb097fced4dc5816d93eb3544a2be70ab6a93b4825dc6025a1a96b9227248ff0718d60f1c70cad156410d604f9dcb99b075dde44f92b62d39a57da0db6edb8a6170d4122b3e49a3dede56c1d3f30c789968407f890998981b312f74d7c7803ce69bafa3ff1abc85e61dcadf89e78de20c8f7541750073c81005f6d2cbf5ab4dbe27f8340f0e66d5d6990cef401c7d2a0b8d8d0067da3be7c955289fe97923ff336942461a1aea67d278bc9f045139df9d044c6ae797be59b582cc2c13807975e7755b5e657681440168f4eb1de8916be8ea3217f3d21a4a2dc9f7abb4ba775aec6725f8e11725fc820dfb260ff48ec60762df1309ab74a05c099cd819b0079e8033ecd24531d56dc7f9d265b1adbaf591183b721fea6febbc5ec0095b9e4f67d833b13f8a3813d0698048683ab5b9b4d00087ee2e9c6eef675314e2c1d4e6742958e59057ef756716e030a43128d476d2882ee755bc02c4192bc62c36e0511dbf666af3d53ad7c9a8672c4ddd8d78762dc2b59d168c22fe51175975564e3e1934560e81360ed94b99e78a65f906b57a4594ef5841cd6917db1bc125730db854c7fe1f8c9e7c46bb8acad429a9d25e3c6b498fbad508f389c9a3319b24b440876ea48b187e6364bdb747dc3d575cfeb2bb26d68b9b742653030562758a73d970fb6d09436adf61fb74837c6ec66fec07c39c11214ffb0bce025abb1b263ec9ecc8a0ef58af71a513fd3611983e4e7cac5c9b2873565563f923b23de09a14d20dc4aab7078d3c84c480ba16955dff4207bd1e307dd78cec6e0238b7cc65db8b182354a361ea0b02a283248c4c2d92840321457c3427f888c857cb29228b2e9fff276a841c351b3d705704600acff551fd88521aed519b3c32e33e204fc0268c808e04d2d20ee05d793f5f78a91321e7ef8e123a5e14ec3b13f0168765d4d59117ea1aa61b968a7047f531dd9419808551bc077da996371562edb93facf0290f44d81aec8fd5918edaa79383bb83b2974c16e3e60119f12b75c2ad19a83202a9bcd9b35ae5990149fded0ff4a292079de5fe886e701ea6c72a519d2266e7e96f1f7006e22b3b3a62dd46bffabf6d601e66f0150bd7f06dca5b95c9632418b7c36321b8fa8ee9d8996462189d5bc82c80bbf8f7c2abd9a886b18d7865ca4fd45a2f6fe3161195fc886f7bfe5fc6c0f3a2937b0268ad0d5eac5fac1ffda6fd343005360d17c266fd654fc22a30dad04624311863dca306a407facf170ebca91e5c29313a92a525656ca6b22ca65b0479db5d8016f3006e7cd0c5cc53413a7df996104773a2924d895352f321bbb98ea84b639f1901fcd8994f8972bc5d13756b9e44b827fb53e36e00bdca1a071d39689f3c078eb8021bf88fdff10109da09c1cbcca225651c0ff23cc55c4d1213aee77def50c90c9bb303192418ae3568af4a5b64e31d150ded656251f526c6cb394626db6800c0b7342fc42c81775a1e74ade78c0b7c2d893a552a81a27206ba80166a7f89f8439502102b9c69c48d28cea29c7b28023b2c8a3aa4fb340ae72c3a3bdb1dcb8004650ca0ca8aca361986058ae06b346b5a171eb371a996bdb73bf479e08da15e816e17c9f68802000acbefa254e9dbd06a6adf8a6887b4e5ad6bbceb261a4861b76a3112d36fdf6af80c379092feb12478dd0b711f53e958a06ecc02fcb855c4a8ca8ad652ab1d1c4347e72da873cd23353717160aa68ed3c72d08c6682797d3144def20a0e3fceb6ac843c6e82d41d960c6e37971cf3f6aaa1cfcf0b059dedd8379084b062cdce4b2e6e83fff6709f7e5a326244a0f56f5434ee8359b186c61c7ab4402c74f0b35d3b6f4488afff6548f9648c2096bbf0433ddd00bf9fe70f17d477a66caed2fbc1a39bd2ad34432e3dedd974b0d18ab5e67202f6c879b04977359d35265f5995771ce16aa5a4c23aeac40a06f7d1149c4f686e623f1d1803f424b84e80e0773f9e2d0f2b7dd02459bed6b46b12e58a1a05bd2f86f5d4ce09d7b4412663bf6001ab0fc40161b96fd5e734d67b9824f6d3e30b900d9240e001ad1853bb8d0cb73e7fe9da3fd0733c66d870ec7ef2515d54ef7138d0c5ec0d6a9c73bdb1e10d9be9c8f704b64f0996129783ab25bc6530fa3466e411e23694434dace43b43e3d2380a428159200f7cd8070d0035b9df94d979d408e34a39e800bf3bd3c75aebccbb408b8b98779543f67b4aa1a44bf916a12520d1f9385928dae57aa8ed8a2fb6dc8df3c9e9cd79c23d50d8d3ab72b273a42d0c9213a19240d3f7f91e0b07026c7e0c6166a8ad16bb819a460be35a35b1c5f22aa153c85c34ce365e06f649bff89a4e36a34ceb0fc4daec87ca0ae6ab17979b363e75c3666fa8931ef7b714d971d2fc82a7595eb864e1bca067fb6627001e746eb371c33e71602c380ed32444c8687c43644e04558795b31ef39ac6166892b22f217838ba89247dc9fd8bd782815e01ae7b6e1f53a904113a7c644a6c5bf6b084b5c717e38fb1994a94c86cba5bd08af7dffd41cd58dbc12e63f63082896c3ef712b124b56bc764afaa65606bb1691de856d36a871c1b6420bd3471c3c9092e1107f22ae112753b4a3caba28bc7dd4da95d308c1c76bed753b24ffa8e16518e4db2c4ff5b57aa64f15d940e4080cec29b90820a1231bf3e2a5b62abfc61c0a2faf4c06a33dcc7fc5e9628685ae90ef1617f3a03c7b18dc7aaea379d05b03bc81b4752ecc20edcbf543e36b9c9a6d93b3718dbaa0694ad866c83b898af9f6844ff896fc30ef1dc1759d58e5acfbc772b65c9592695795c34364ef6b438e117d0eaa5935b1c597bca6b5d847b3d4606bfb15aaf485d0447fb22250061619c871b31257132dd5d70c85260e023aa7df6f68496177087b966e66fb63cfd538e4edc1af5723e21def5e424d9e102f7b0f9561926e324511c4438511e9cc6bdc090ea56c91cbf77f1b88f21d29e420dbd91f032d7570bc0f3a9f8e66ff910d385fc3431cb4f77105fb45bcb8ef623dcb620940fa6e2d47c236ea775271773a329faa2db8eeacbe222e0fb01f1b64e78b7a25c3e836c55ae2a4812adf2d2218efc1e2fc36aa7832c9296f87088745743d24e3f820504dcbf0f5fb592ffb0f93d6dc3e5cd4aba7dfaea9c96a4679abb051d9bc9bb9836767e909c22134d3fb40c85bea1dcb991a55b63bfaa4b2c88b6acc33f5e742780a31ff736039476442f82c4e13cee372e15b805a756e2e949d9e3349919b28a742997cf1a21205dd70723c8e265a9f65955e1e7e5aee542da81c5cc0a82406909d7b5c79214e7bfaff77b8a632877916f9dbd758a0e25dcf62f580bc23f65b4e870588c02e30b861d0aadf47e26b5f9ff3a9b728ce49dbecca37ca400e4142f0d0cdfec20d2bfc1cf78bd38f527b6c0cb984033880e51ea8773250c37e309bef961d80d8701a846638a1771e5c36420ae4d681365925f59a56de95c49c78d03e6c3f9eb79fabab072f27d95509be256f4602469744103270df179fc306f765f54dcafaa18c6f20713972cc5c086be7bf26a43469ceab84ba58aad0b87201106bd5966d92b5a9472b99e66e89b5a95d71452a1fca69a31cb200dd66c001855c9e124aa659c03ea9b81f9694b898893124d732b63d66406aea896c3aaf4482f032ceecf3e2c1bedec071372ed9ce537d3b4262131820d626c3add4d724a247326d9cca20570b", ["", "", "", "", ""]}, 0x1010}, 0x1, 0x0, 0x0, 0x8004}, 0x4000000) sendmsg$GTP_CMD_NEWPDP(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x40000000}, 0xc, 0x0, 0x1, 0x0, 0x0, 0x24004001}, 0x4000050) fanotify_mark(r1, 0x2, 0x2, r0, 0x0) 17:42:09 executing program 0: recvmsg(0xffffffffffffffff, &(0x7f0000002340)={0x0, 0x0, 0x0}, 0x0) perf_event_open(&(0x7f0000000180)={0x2, 0x70, 0xc5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7e, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xbfffffffffffffff, 0xffffffffffffffff, 0x0) socketpair(0x1, 0x2000000003, 0x0, &(0x7f00000005c0)={0xffffffffffffffff}) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000000)={0xffffffffffffffff, 0x0, 0x0, 0x0, &(0x7f00000000c0), 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x40) setrlimit(0xe, &(0x7f0000000300)={0x6, 0x9}) perf_event_open$cgroup(&(0x7f0000000200)={0x7, 0x70, 0x9, 0x1, 0x7, 0x0, 0x0, 0x9, 0x40c0, 0xc, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x4, 0x4, @perf_bp={&(0x7f0000000100), 0x4}, 0x8, 0x20, 0x5, 0x7, 0xffff, 0x0, 0x1}, 0xffffffffffffffff, 0xe, 0xffffffffffffffff, 0xb) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x89f1, &(0x7f0000000000)='ip6gre0\x00') sendmsg$inet(r0, &(0x7f0000000480)={&(0x7f0000000140)={0x2, 0x4e21, @initdev={0xac, 0x1e, 0x1, 0x0}}, 0x10, &(0x7f00000002c0)=[{&(0x7f0000000280)="af9fa282d5d80ec69a279aebeffd09e6a2b8bf2ca1a5c09122f697", 0x1b}], 0x1, &(0x7f0000000600)=ANY=[@ANYBLOB="14000000000000000000000001000000010000000000000011000000000000000000000001000000030000000000000014000000000000000000f200000000000000140100000000000000000000070000008327bbffffffff00000000e0000001e0000001ac1414bb7f000001ac1414aa64010101e0000002831ba00a010100ac1414bb0a010101ffff160064010100ac1414364414e3700000003f000004ea0000000800000040880f89cce29986570de5e2c684c4026cda8dafa5b6d92bc251a4e9892b97ac141423ffffffff00000000ffffffffac1414aaac1e0101ffffffff0a010101e0000001acc2ac81c2b77790c3039456291414bb94040000444c1421e000000100000005ac1414aa00000000ac1414bb00000002ac1414aa000000000a0101007c60731cffffffff0000670c0a01010000000004ac1414bb00000800e0000002000088134424993364010101000007ffac1414bb80000000ac1414bb00000001cfd2bd3f7bf4406aeacc71057fa55eb407caa651d24ff7cacae5ad0bc730f71593de78b80f930bf33a6c4d1eb708434e1b14bcdfbe8e2984c98bcbddead91af102d931542535733559f16088a6fadb79924ac13dc2d49203d398a75ef5541dbe1cf70144e18e84e75382f6789e0f0c11a4bce407e6b1cf9ac86211cda37b2a85d0a5a167bf456e8e70f44c4d16449c3e6680dae6066113d82409ba5c8af1b48a808b8af947956722ba0909c971753e449bbb6489a8fa2c4590cb8200391a81975f9f"], 0x160}, 0x4000000) socketpair(0x1, 0x2000000003, 0x0, &(0x7f00000005c0)={0xffffffffffffffff}) r2 = openat$6lowpan_control(0xffffffffffffff9c, &(0x7f0000000340)='/sys/kernel/debug/bluetooth/6lowpan_control\x00', 0x2, 0x0) ioctl$BTRFS_IOC_START_SYNC(r2, 0x80089418, &(0x7f0000000380)) ioctl$PERF_EVENT_IOC_SET_FILTER(r1, 0x89f2, &(0x7f0000000000)='ip6gre0\x00') bpf$OBJ_GET_PROG(0x7, &(0x7f0000000500)={&(0x7f00000004c0)='./file0\x00', 0x0, 0x20}, 0x10) 17:42:09 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000340)={0x0, 0x1f, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000140)=0x14) setsockopt$inet_sctp6_SCTP_ADD_STREAMS(r2, 0x84, 0x79, &(0x7f0000000080)={0x0, 0x9, 0x2}, 0x8) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000440)=ANY=[@ANYBLOB="3c00000010006707000000004f1a3b65fbd77302", @ANYRES32=r3, @ANYBLOB="fe2f0000000100001c0012000c000100626f6e64"], 0x3c}}, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000003c0)=ANY=[@ANYBLOB="5000000010001fff000000000008000000000000", @ANYRES32=0x0, @ANYBLOB="000000000000000028001200090001007665746800000000180002001400010000000000", @ANYRES32, @ANYBLOB="200002000010000008000a00", @ANYRES32=r3], 0x50}}, 0x0) socket(0x29, 0x800, 0x81) r4 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r4, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000500)=@newlink={0x20, 0x11, 0x40d, 0x0, 0x0, {0x10, 0x0, 0x0, r3}}, 0x20}}, 0x0) 17:42:09 executing program 5: recvmsg$kcm(0xffffffffffffffff, &(0x7f0000001700)={&(0x7f0000000580)=@x25, 0x80, &(0x7f00000016c0)=[{&(0x7f0000000600)=""/63, 0x3f}], 0x1, &(0x7f00000017c0)=""/142, 0x8e}, 0x10000) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x201, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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$kcm(0x2, 0xa, 0x2) ioctl$SIOCSIFHWADDR(r0, 0x8914, &(0x7f0000000180)={'syzkaller1\x00', @link_local}) ioctl$TUNSETNOCSUM(0xffffffffffffffff, 0x400454c8, 0x1) r1 = bpf$BPF_MAP_GET_FD_BY_ID(0xe, &(0x7f0000000200)={0x0, 0x1}, 0xc) bpf$BPF_PROG_ATTACH(0x8, &(0x7f0000001780)={@map=r1, 0xffffffffffffffff, 0xa, 0x1}, 0x14) r2 = socket$kcm(0x10, 0x5, 0x4) sendmsg$kcm(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000300)="89000000120081ae08060c0f006b3f007f03e3f70000000000e2ffca1b4e0906a6bd7c493872f750375ed08a56331dbf64700169381ad6e747033a0093b837dc6cc01e32ef6a80277bec00123d000100003d77a0bdad446b9bbc7a46e3988285dcdf12f213d3f868fece14955f947ee2b49e33538afa8af92347510f0b56a20ff27fff70fdd02f0fa5", 0x89}], 0x1}, 0x0) sendmsg$kcm(r2, &(0x7f0000000040)={&(0x7f0000000100)=@pppol2tpv3={0x18, 0x1, {0x0, r0, {0x2, 0x4e1e, @multicast2}, 0x2, 0xffffffff, 0x1, 0x2}}, 0x80, &(0x7f0000001640)=[{&(0x7f0000000280)="ccbefd43574032b2b67a2766e79413fee5580ae2889ddd5a19d90fb8f9e470e78bdba96a46a1b7db6ee222d06922ae608fcadcaa113b2c33299d90c3870755fd7d59546a3fb13d2032750d6b720840eb47c0adc1f326d30b33a70b202bf1f3d5e5f6d4fc14a518d11be4820b216d7fa0d05e22adf452d079532d7663d4a8e279cb0db957455270c8a84ee9b1a24fb24ceb1dc7727f5288070a58fcbeba59a0899479541e9dfef8020b17d41c303377e1ea7f9cc1a9c464bbdeecca0e00763737ca5256d6145bd897ca84fcee44129094e9", 0xd1}, {&(0x7f0000000380)="47813504960734420169eb7bc1666a73327ea357f8bef86e5d50f7c4b53914353dd2c04553c17e5c0caec94d30bda318f10b899b150dc4eeb30513969c0f1ab5c2d1e845abca6b434742f23db1f0ba20b4e7bd71cf07fc6d460c44eeeb263b44f27e1486c09837e419dacc86a0d41c4f3ec5a9dadb0c2ab9a1b7c8f89b50278d5441e9dc0034c251a4cd701eef", 0x8d}, {&(0x7f0000000440)="26690dc8c3a0728198b60574f8b5361ccdb059d171b84153217387d7ba9dfeaebaca59fac373af7ba3bb159f07bed2adc6b464154a2623932310b685e7aba2af593a24cbd0d4682fb5b1fd7a3b88ea70c5259b17c75150447b6e7139a48a6a6f543d3314803b8f8bb5137c74e9a6f295757b6f6012b6095f7842a6410a3a767e4f3d6bb7890aed3554b5ef992bbd12f5229b6adb88f9e30b945e6dd7dc52655d9cd6931ad9817added23c9b7774930db223e9986d34d255698a91c19627e5027ebed3b0fb16994342197e3bd093bf1d941722b68839a8792cec035686394b7895fa88b19c08ef41037168e44d07b9489", 0xf0}, {&(0x7f00000019c0)="cb07f78895b699947ecd86f4a057279ba9e5b7cc5676fa71fc9104c326a1d3586b66099d9150a21f7cbd858cc7b39489ab75cfd416a296470fe9e6fe829753363783f9b993f85c29115e03d5968b5792969b63fcfe46946c96d601455872dbf49321a887e3710f85ff15def6b7fc4a5c72b1fb0f4198c7375fc225b78742f69e6434988d054782a3fd37e7e54417aefc67abaf2b8f915ed2acf5d0d745751086c8a78ff43e83137fdbaff41a9d75f25c15143f0c40575679130e2100917207a38f7a54245b9409cd20", 0xc9}, {&(0x7f0000000640)}], 0x5, &(0x7f0000001880)=ANY=[@ANYBLOB="60000000000000000f01458900000000000070158bb92ffb714105099ea2b4a67d11a3033e131a36182023fee71b144db6f8d85d8e690a908dfe79b81b6326f47b80123672550d8ac4e15e036f44c587e9b6fb000000000000000000000000005800000000003a00000006000000ac6957b7a2238d52495c5081b63b708d19c5cccb8df8ad39b765766e9fbd2fac45325563be69e98a8ae07cd175b40f341b783fb92cbf15c83c00580000000000000010010000000000808fbab114f68c1050f24106b8697a2dfba167f3902629f416b552708165a0d9662a1d180092424abd62a41ff04fae0c8d3a6c0b014c3b47240de974ebf0a6719d9ddf2d00"/270], 0x110}, 0x40480c4) openat$cgroup_root(0xffffffffffffff9c, 0x0, 0x200002, 0x0) openat$cgroup_freezer_state(0xffffffffffffffff, &(0x7f0000000000)='freezer.state\x00', 0x2, 0x0) ioctl$SIOCGSTAMPNS(r0, 0x8907, &(0x7f0000000540)) r3 = openat$tun(0xffffffffffffff9c, &(0x7f0000000080)='/dev/net/tun\x00', 0x0, 0x0) ioctl$TUNSETIFF(r3, 0x400454ca, &(0x7f00000000c0)={'syzkaller1\x00'}) r4 = semget$private(0x0, 0x0, 0x20) semctl$SEM_INFO(r4, 0x1, 0x13, &(0x7f0000000640)=""/71) ioctl$TUNSETLINK(r3, 0x400454cd, 0x308) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='cpuacct.usage_percpu_sys\x00', 0x26e1, 0x0) 17:42:09 executing program 3: openat$mice(0xffffffffffffff9c, &(0x7f0000000040)='/dev/input/mice\x00', 0x2240) openat$uhid(0xffffffffffffff9c, &(0x7f0000000000)='/dev/uhid\x00', 0x0, 0x0) 17:42:09 executing program 0: r0 = syz_genetlink_get_family_id$tipc(&(0x7f0000000040)='TIPC\x00') sendmsg$TIPC_CMD_SHOW_LINK_STATS(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000000), 0xc, &(0x7f00000000c0)={&(0x7f0000000080)={0x30, r0, 0x20, 0x70bd26, 0x25dfdbfb, {{}, {}, {0x14, 0x14, 'broadcast-link\x00'}}, ["", "", "", ""]}, 0x30}, 0x1, 0x0, 0x0, 0x40005}, 0x95) r1 = dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x80000) sendmsg$NLBL_CALIPSO_C_LIST(r1, &(0x7f0000000200)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)={0x2c, 0x0, 0x2, 0x70bd29, 0x25dfdbfd, {}, [@NLBL_CALIPSO_A_MTYPE={0x8}, @NLBL_CALIPSO_A_MTYPE={0x8}, @NLBL_CALIPSO_A_MTYPE={0x8}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8000}, 0x881) ptrace$getenv(0x4201, 0x0, 0x3f, &(0x7f0000000240)) r2 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000280)='/dev/nvram\x00', 0x1010c0, 0x0) sendmsg$SMC_PNETID_FLUSH(r2, &(0x7f00000003c0)={&(0x7f00000002c0)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000000380)={&(0x7f0000000300)={0x74, 0x0, 0x8, 0x70bd26, 0x25dfdbff, {}, [@SMC_PNETID_NAME={0x9, 0x1, 'syz1\x00'}, @SMC_PNETID_ETHNAME={0x14, 0x2, 'veth1_to_batadv\x00'}, @SMC_PNETID_IBNAME={0x9, 0x3, 'syz1\x00'}, @SMC_PNETID_ETHNAME={0x14, 0x2, 'veth1_to_team\x00'}, @SMC_PNETID_IBNAME={0x9, 0x3, 'syz1\x00'}, @SMC_PNETID_ETHNAME={0x14, 0x2, 'ip6tnl0\x00'}]}, 0x74}, 0x1, 0x0, 0x0, 0x20008024}, 0x40000) ioctl$VIDIOC_SUBDEV_QUERY_DV_TIMINGS(r2, 0x80845663, &(0x7f0000000400)) setxattr$trusted_overlay_upper(&(0x7f00000004c0)='./file0\x00', &(0x7f0000000500)='trusted.overlay.upper\x00', &(0x7f0000000540)={0x0, 0xfb, 0x74, 0x0, 0x4, "0bae893f0146aa46161b52bb9b3b8bbb", "35d14cd7c74bf9c994bc029391e739a3b213738e90d0b5808aaeb396ae40f27590cad33ed044ad7cb798c9582b170bb28583f6c0e2af1d75b4cce10e8740456a8d39dda1a01a528a122a5c406e90c4abe4fe2ccbb0444b4d92aeea75e07f28"}, 0x74, 0x1) getsockopt$inet_sctp6_SCTP_ADAPTATION_LAYER(r2, 0x84, 0x7, &(0x7f00000005c0), &(0x7f0000000600)=0x4) ioctl$DRM_IOCTL_SET_SAREA_CTX(r1, 0x4010641c, &(0x7f0000000680)={0x0, &(0x7f0000000640)=""/4}) sendto$llc(r1, &(0x7f00000006c0)="6fd2c756ffc2194b130738f997ae1c23c72132ff3f26937d08d9475d2c6febd65656c23e0ed651c8aee3e6c64d9bd5b7fb6d09bbee02e074d280e2b511bf06163cff69d451ab9a6d268ce20042f663e7b00ecd089e789f6e00809d3dfeb225d53045627b959708ce88c5ade91b8f87b50a73f40ec07285db1d8b0affa530f214f08dd5ba90499ed0e8e0951d709b7621668f3abd4ae703cf9f1a", 0x9a, 0x800, &(0x7f0000000780)={0x1a, 0x302, 0x40, 0xfb, 0x1f, 0x1, @remote}, 0x10) close(r2) ioctl$VIDIOC_G_EDID(r1, 0xc0285628, &(0x7f0000000800)={0x0, 0x1f, 0x7ff, [], &(0x7f00000007c0)=0x8}) ioctl$IMGETDEVINFO(r1, 0x80044944, &(0x7f0000000840)={0x5}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000880)='/dev/nvram\x00', 0x40000, 0x0) finit_module(r3, &(0x7f00000008c0)='ip6tnl0\x00', 0x1) sendmsg$TIPC_NL_KEY_FLUSH(r1, &(0x7f0000000dc0)={&(0x7f0000000900)={0x10, 0x0, 0x0, 0x6208000}, 0xc, &(0x7f0000000d80)={&(0x7f0000000940)={0x430, 0x0, 0x10, 0x70bd28, 0x25dfdbfc, {}, [@TIPC_NLA_SOCK={0xc, 0x2, 0x0, 0x1, [@TIPC_NLA_SOCK_ADDR={0x8, 0x1, 0x9}]}, @TIPC_NLA_MEDIA={0x100, 0x5, 0x0, 0x1, [@TIPC_NLA_MEDIA_PROP={0x54, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x6}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x2}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x13}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0xffffffd5}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x8}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x7}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x1}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x6}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x10}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x2}]}, @TIPC_NLA_MEDIA_PROP={0x2c, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_WIN={0x8, 0x3, 0xd40a}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x4}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x57}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x18}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x8}]}, @TIPC_NLA_MEDIA_PROP={0x14, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_TOL={0x8}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x5}]}, @TIPC_NLA_MEDIA_PROP={0x24, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_WIN={0x8, 0x3, 0x80000000}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x8}, @TIPC_NLA_PROP_TOL={0x8}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x2}]}, @TIPC_NLA_MEDIA_PROP={0x3c, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x1f}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x1}, @TIPC_NLA_PROP_TOL={0x8}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x81}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x4}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0xf}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x6}]}, @TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'udp\x00'}]}, @TIPC_NLA_PUBL={0x34, 0x3, 0x0, 0x1, [@TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x4}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0x4}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x1f}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x401}, @TIPC_NLA_PUBL_LOWER={0x8}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x4}]}, @TIPC_NLA_NET={0x24, 0x7, 0x0, 0x1, [@TIPC_NLA_NET_NODEID={0xc, 0x3, 0x1}, @TIPC_NLA_NET_ID={0x8, 0x1, 0x2}, @TIPC_NLA_NET_NODEID={0xc, 0x3, 0x3}]}, @TIPC_NLA_SOCK={0x8, 0x2, 0x0, 0x1, [@TIPC_NLA_SOCK_HAS_PUBL={0x4}]}, @TIPC_NLA_BEARER={0x3c, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_NAME={0xd, 0x1, @udp='udp:syz0\x00'}, @TIPC_NLA_BEARER_PROP={0x1c, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_WIN={0x8, 0x3, 0x9}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0xfffffffe}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x1728}]}, @TIPC_NLA_BEARER_NAME={0xc, 0x1, @l2={'eth', 0x3a, 'wg0\x00'}}]}, @TIPC_NLA_NET={0x64, 0x7, 0x0, 0x1, [@TIPC_NLA_NET_ID={0x8, 0x1, 0x706}, @TIPC_NLA_NET_NODEID={0xc, 0x3, 0x100000001}, @TIPC_NLA_NET_NODEID_W1={0xc, 0x4, 0xd6}, @TIPC_NLA_NET_ID={0x8, 0x1, 0xfffffffe}, @TIPC_NLA_NET_NODEID={0xc, 0x3, 0x3}, @TIPC_NLA_NET_ID={0x8, 0x1, 0x6}, @TIPC_NLA_NET_ADDR={0x8, 0x2, 0x3000000}, @TIPC_NLA_NET_ID={0x8, 0x1, 0x3}, @TIPC_NLA_NET_NODEID_W1={0xc, 0x4, 0x8}, @TIPC_NLA_NET_ID={0x8, 0x1, 0x9}]}, @TIPC_NLA_NODE={0x200, 0x6, 0x0, 0x1, [@TIPC_NLA_NODE_KEY={0x3f, 0x4, {'gcm(aes)\x00', 0x17, "e901d5240ce8245450cd111be5dd635f0eba77a3acd223"}}, @TIPC_NLA_NODE_ADDR={0x8, 0x1, 0x5}, @TIPC_NLA_NODE_KEY={0x48, 0x4, {'gcm(aes)\x00', 0x20, "29c67080f55cddf67a1dc131fedcc6c4dfc01388f53347488a89403badee28fc"}}, @TIPC_NLA_NODE_KEY={0x48, 0x4, {'gcm(aes)\x00', 0x20, "62fb597cbb386a9a4637c4010d9dcf11422e6e8bbdeb328e656ea17cb0e16594"}}, @TIPC_NLA_NODE_KEY={0x40, 0x4, {'gcm(aes)\x00', 0x18, "d86b1e2ee55942830a8c4f238a8ee8d4d9dffbbaedcf0794"}}, @TIPC_NLA_NODE_UP={0x4}, @TIPC_NLA_NODE_ID={0xcc, 0x3, "beff95acab6c81544b6125a372af1717be022e6f18cb348eae962c0b3b1c75cfaf8ca6394484f1d7f48777e55fb8a27763381c05e1a375c4f931a360dd9052ef502f3db55b608def8883699b00efdcebd75624e112aae0474c6ae58af18029f6a915b0c282c29bbaa4f1bbf2eda3941cbb7fb161c6239d57eb2386541086e266d20e8613fdd9a0e0cf53befe6dac47fa4077081acc0604505eb351e39dbcbcfecd014d4ec0d236c975d3fa8d9e7815b911693cf92b7be5701867c2de8178b22da4cf9dda209f0050"}, @TIPC_NLA_NODE_ID={0x9, 0x3, "daf8bd3c73"}, @TIPC_NLA_NODE_ADDR={0x8}]}, @TIPC_NLA_LINK={0x10, 0x4, 0x0, 0x1, [@TIPC_NLA_LINK_NAME={0x9, 0x1, 'syz1\x00'}]}]}, 0x430}, 0x1, 0x0, 0x0, 0x20008800}, 0x40) ioctl$SNDRV_PCM_IOCTL_START(0xffffffffffffffff, 0x4142, 0x0) syz_mount_image$fuse(&(0x7f0000000e00)='fuse\x00', &(0x7f0000000e40)='./file0\x00', 0x0, 0x0, 0x0, 0x200002, &(0x7f0000000e80)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0xa000}, 0x2c, {'user_id', 0x3d, 0xffffffffffffffff}, 0x2c, {'group_id', 0x3d, 0xee01}, 0x2c, {[{@default_permissions='default_permissions'}, {@allow_other='allow_other'}, {@allow_other='allow_other'}, {@max_read={'max_read', 0x3d, 0x9}}, {@allow_other='allow_other'}], [{@rootcontext={'rootcontext', 0x3d, 'staff_u'}}, {@smackfstransmute={'smackfstransmute', 0x3d, ']}'}}]}}) 17:42:09 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000280)='/dev/kvm\x00', 0x0, 0x0) sendmsg$IPCTNL_MSG_CT_DELETE(0xffffffffffffffff, &(0x7f0000000700)={&(0x7f00000005c0)={0x10, 0x0, 0x0, 0x101800}, 0xc, &(0x7f00000006c0)={&(0x7f0000000600)={0xac, 0x2, 0x1, 0x301, 0x0, 0x0, {0x7, 0x0, 0xa}, [@CTA_PROTOINFO={0x10, 0x4, 0x0, 0x1, @CTA_PROTOINFO_SCTP={0xc, 0x3, 0x0, 0x1, [@CTA_PROTOINFO_SCTP_STATE={0x5, 0x1, 0x8f}]}}, @CTA_STATUS={0x8}, @CTA_TUPLE_MASTER={0x80, 0xe, 0x0, 0x1, [@CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @rand_addr=0x64010100}, {0x8, 0x2, @loopback}}}, @CTA_TUPLE_ZONE={0x6, 0x3, 0x1, 0x0, 0x4}, @CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @multicast2}, {0x8, 0x2, @empty}}}, @CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @private1}, {0x14, 0x4, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}}}, @CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5, 0x1, 0x11}}, @CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @empty}, {0x8, 0x2, @local}}}]}]}, 0xac}, 0x1, 0x0, 0x0, 0x40}, 0x40000) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f000000b000/0x18000)=nil, &(0x7f00000008c0)=[@text32={0x20, &(0x7f00000000c0)="b805000000b9510000000f01c10f46a78900000066ba2100b067ee66ba4100edb9800000c00f3266ba400066ed0f30c4c271de9d0000000066b808008ed0660f38806f000f011c2666b8bf008ee0", 0x4e}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) sendmsg$NL80211_CMD_GET_STATION(0xffffffffffffffff, &(0x7f0000000080)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000000040)={&(0x7f0000000140)={0x110, 0x0, 0x1, 0x70bd2b, 0x25dfdbfb, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_VLAN_ID={0x6, 0x11a, 0x4}, @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES={0xe3, 0xbe, "6457f658d0970fdba7ee19a3ce4716bae7b286789a964588f08342106a3e33067ee776580cb4542d292facfa11b5778332431bcb20f7815dd4025dd5d939ffe298cd80845b79b63fba74b2fc0e57e199d2671304521c73145799c5000574a428bb900243e0d1f12d796bd5a3208752708b122ba5ddd7e96c1c04d05d9c86f743f83bc1a684cab5361419b8dcbf53098156eca735a74ddc9f97f5c146437d790943f6ad9b6a6356d0492faaee68b44210a3453711525574de0ff8abd852e25a9a4fcd5a64512a9adb045022406f5705bed7a8cb3c217eabd4298a50266bf729"}, @NL80211_ATTR_STA_VLAN={0x8}]}, 0x110}, 0x1, 0x0, 0x0, 0x810}, 0x8000) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4cb]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_SET_IRQCHIP(r1, 0x8208ae63, &(0x7f0000000380)={0x0, 0x0, @pic={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}) ioctl$KVM_RUN(r2, 0xae80, 0x0) 17:42:10 executing program 0: socket$inet(0x10, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000000)=ANY=[@ANYBLOB='$\x00\x00\x00,\x00\x00\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00\x00\x00'], 0x24}}, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000040)=ANY=[@ANYBLOB="280000001000010800"/20, @ANYRES32=0x0, @ANYBLOB="04000200000000000400fb0000000000cda62296b48069"], 0x28}, 0x1, 0x0, 0x0, 0x20114}, 0x0) mkdir(0x0, 0x0) mount$bpf(0x20000000, 0x0, 0x0, 0x2001001, 0x0) sendmsg$DEVLINK_CMD_RELOAD(0xffffffffffffffff, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000480)={0x0}}, 0x0) setsockopt$inet6_tcp_TCP_ULP(0xffffffffffffffff, 0x6, 0x1f, 0x0, 0x0) ioctl$RTC_AIE_ON(0xffffffffffffffff, 0x7001) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x8}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) sendmsg$IPCTNL_MSG_TIMEOUT_DELETE(0xffffffffffffffff, 0x0, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000140)={0x0, 0x2, &(0x7f0000000240)={&(0x7f0000000180)=@newlink={0x28, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x205}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) 17:42:10 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) sendmsg$NFQNL_MSG_VERDICT(r4, &(0x7f0000000b40)={&(0x7f0000000800)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f0000000b00)={&(0x7f0000000840)={0x28c, 0x1, 0x3, 0x101, 0x0, 0x0, {0x0, 0x0, 0x2}, [@NFQA_PAYLOAD={0xf2, 0xa, "c4e90a8112b1caca41e8afa75e4ecc29cf64062e31dc07b83ec45d4676c4a0694b3c21a651ee2f51e9e8ec5f5400adf4dad0e0789d20f106a4c4475b795c37683013d0426530125003585c2945fff498f02d89412f1cd3d2748df491cd733372ac6a7cd473da73b8a5b5acbaf2f17f0c4c2fea6fcf69671fab0c496dcdc2a9e56242fa6175bbdc244bbcc2447495e336128bcefb1fffe2dadeed738be1f0120764557d3f533b1034d6ec012b63f511033189dc0d1067a667ee46344581a2d3210b0fd76d78516826fb0227350adde5819921283a1e342e0ceadb684a2361d14c87deeda1d82295670b4c2fd7f254"}, @NFQA_EXP={0x14, 0xf, 0x0, 0x1, [@CTA_EXPECT_ID={0x8}, @CTA_EXPECT_ZONE={0x6, 0x7, 0x1, 0x0, 0x4}]}, @NFQA_VERDICT_HDR={0xc, 0x2, {0xfffffffffffffffe, 0x6}}, @NFQA_CT={0x24, 0xb, 0x0, 0x1, [@CTA_TUPLE_MASTER={0x20, 0xe, 0x0, 0x1, [@CTA_TUPLE_ZONE={0x6, 0x3, 0x1, 0x0, 0x1}, @CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @multicast2}, {0x8, 0x2, @local}}}]}]}, @NFQA_VLAN={0x24, 0x13, 0x0, 0x1, [@NFQA_VLAN_TCI={0x6, 0x2, 0x1, 0x0, 0x80}, @NFQA_VLAN_TCI={0x6, 0x2, 0x1, 0x0, 0x8}, @NFQA_VLAN_TCI={0x6, 0x2, 0x1, 0x0, 0xb9e}, @NFQA_VLAN_TCI={0x6, 0x2, 0x1, 0x0, 0x53d3}]}, @NFQA_PAYLOAD={0x32, 0xa, "622fe72d914f482b9ad9e6dad4f63e46e556b9c89e4a294282dafd353b97c9303d18ce71dc637786ac58d3924235"}, @NFQA_VERDICT_HDR={0xc, 0x2, {0xfffffffffffffffe, 0x4d74}}, @NFQA_PAYLOAD={0xdb, 0xa, "22da6405ec00466f3fb81398445a04a7e9448fd514c99b7e9aa76818f7868c9321e136c4961bb595de76fc33018af7c2aa5d0366af0b70367143068978a7b3400d3549987b4270142460854e7d611383307d3c7c94aeb3a0bc7b1a57ad9c93ebb444c382814fc323ea880f3e887cd48baad559a6568cfbf26201fee7a733319688f8e8f0502674842d85dcc32e01d658ebd00acee74b8a8e491a84b83000044112306897a5d1874e36c3431899c3cedf30205dc8d4ec5b08714d925b5dfafd4c5ea747213cfcb0f7ec5845e0a527d05178ce70ee7d8909"}]}, 0x28c}, 0x1, 0x0, 0x0, 0x80}, 0x40000) r5 = creat(&(0x7f0000000280)='./file0\x00', 0x0) sendmsg$TIPC_NL_BEARER_ADD(r5, &(0x7f0000000780)={&(0x7f0000000300)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000740)={&(0x7f0000000340)={0x3cc, 0x0, 0x8, 0x70bd2d, 0x25dfdbff, {}, [@TIPC_NLA_NODE={0xa4, 0x6, 0x0, 0x1, [@TIPC_NLA_NODE_KEY={0x47, 0x4, {'gcm(aes)\x00', 0x1f, "f2bd43ce7fd175fb87f0e99b4c67ff3a49fd7a1aceb4261f12e4f65ceb0196"}}, @TIPC_NLA_NODE_KEY={0x44, 0x4, {'gcm(aes)\x00', 0x1c, "ce28d7b0083719a873074b68c7bcfd74bef0766d5a37b1af8b6af83f"}}, @TIPC_NLA_NODE_UP={0x4}, @TIPC_NLA_NODE_ADDR={0x8, 0x1, 0x5}, @TIPC_NLA_NODE_ADDR={0x8, 0x1, 0x7fff}]}, @TIPC_NLA_MEDIA={0x11c, 0x5, 0x0, 0x1, [@TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'eth\x00'}, @TIPC_NLA_MEDIA_PROP={0x34, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_PRIO={0x8, 0x1, 0xe}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0xa1e5}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0xffff0273}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x5120}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0xff}, @TIPC_NLA_PROP_TOL={0x8}]}, @TIPC_NLA_MEDIA_PROP={0x1c, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_MTU={0x8, 0x4, 0x2c2}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x9}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x1a}]}, @TIPC_NLA_MEDIA_PROP={0x4}, @TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'eth\x00'}, @TIPC_NLA_MEDIA_PROP={0x34, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_TOL={0x8, 0x2, 0x6}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x1d}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x8}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x81}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x7fffffff}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x8d}]}, @TIPC_NLA_MEDIA_NAME={0x7, 0x1, 'ib\x00'}, @TIPC_NLA_MEDIA_PROP={0x4c, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_WIN={0x8, 0x3, 0xab1}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x9}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x8}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x9}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x800}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x7137}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0xa}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x5}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x12}]}, @TIPC_NLA_MEDIA_PROP={0x24, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_WIN={0x8}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x8}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0xf7}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x4}]}, @TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'udp\x00'}]}, @TIPC_NLA_MON={0x14, 0x9, 0x0, 0x1, [@TIPC_NLA_MON_ACTIVATION_THRESHOLD={0x8, 0x1, 0x3}, @TIPC_NLA_MON_ACTIVATION_THRESHOLD={0x8, 0x1, 0x4}]}, @TIPC_NLA_MON={0x44, 0x9, 0x0, 0x1, [@TIPC_NLA_MON_ACTIVATION_THRESHOLD={0x8, 0x1, 0xffffffff}, @TIPC_NLA_MON_REF={0x8, 0x2, 0x7}, @TIPC_NLA_MON_REF={0x8, 0x2, 0x2}, @TIPC_NLA_MON_REF={0x8, 0x2, 0x10001}, @TIPC_NLA_MON_REF={0x8, 0x2, 0x1}, @TIPC_NLA_MON_REF={0x8, 0x2, 0x8}, @TIPC_NLA_MON_REF={0x8, 0x2, 0x7ff}, @TIPC_NLA_MON_ACTIVATION_THRESHOLD={0x8, 0x1, 0x3}]}, @TIPC_NLA_MEDIA={0xc, 0x5, 0x0, 0x1, [@TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'udp\x00'}]}, @TIPC_NLA_BEARER={0x144, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_UDP_OPTS={0x44, 0x4, {{0x20, 0x1, @in6={0xa, 0x4e24, 0xffff, @initdev={0xfe, 0x88, [], 0x1, 0x0}, 0x8}}, {0x20, 0x2, @in6={0xa, 0x4e21, 0xfffffff7, @loopback, 0xfff}}}}, @TIPC_NLA_BEARER_NAME={0xd, 0x1, @udp='udp:syz2\x00'}, @TIPC_NLA_BEARER_UDP_OPTS={0x38, 0x4, {{0x14, 0x1, @in={0x2, 0x4e24, @empty}}, {0x20, 0x2, @in6={0xa, 0x4e24, 0x100, @loopback, 0x3}}}}, @TIPC_NLA_BEARER_UDP_OPTS={0x38, 0x4, {{0x14, 0x1, @in={0x2, 0x4e23, @private=0xa010100}}, {0x20, 0x2, @in6={0xa, 0x4e22, 0x6, @ipv4={[], [], @remote}, 0x4}}}}, @TIPC_NLA_BEARER_UDP_OPTS={0x38, 0x4, {{0x14, 0x1, @in={0x2, 0x4e24, @loopback}}, {0x20, 0x2, @in6={0xa, 0x4e23, 0x2, @ipv4={[], [], @broadcast}, 0x9d}}}}, @TIPC_NLA_BEARER_UDP_OPTS={0x44, 0x4, {{0x20, 0x1, @in6={0xa, 0x4e20, 0x4ad48f37, @mcast1, 0x3}}, {0x20, 0x2, @in6={0xa, 0x4e23, 0x8, @local, 0x1}}}}]}, @TIPC_NLA_MEDIA={0x50, 0x5, 0x0, 0x1, [@TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'udp\x00'}, @TIPC_NLA_MEDIA_NAME={0x7, 0x1, 'ib\x00'}, @TIPC_NLA_MEDIA_PROP={0x34, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_MTU={0x8, 0x4, 0x8000}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x13}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x10}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0xfa2}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x19}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x1000}]}, @TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'udp\x00'}]}]}, 0x3cc}, 0x1, 0x0, 0x0, 0x4001}, 0x40880) ioctl$sock_TIOCOUTQ(r1, 0x5411, &(0x7f0000000240)) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) r6 = socket$inet6_sctp(0xa, 0x10000000005, 0x84) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r6, 0x84, 0x1d, &(0x7f000095dff8)={0x1, [0x0]}, &(0x7f000095dffc)=0x8) r8 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r8, 0x84, 0x72, &(0x7f0000000000)={r7}, &(0x7f0000000040)=0xc) setsockopt$inet_sctp6_SCTP_DEFAULT_SEND_PARAM(r1, 0x84, 0xa, &(0x7f0000000140)={0x96f6, 0x81, 0x0, 0xfffffff9, 0x5, 0x3, 0x76608cc9, 0x7, r7}, 0x20) ioctl$VIDIOC_ENUM_FRAMESIZES(r4, 0xc02c564a, &(0x7f00000007c0)={0xaa, 0x31424752, 0x3, @discrete={0x8, 0x101}}) ioctl$sock_SIOCGIFINDEX(r2, 0x8933, &(0x7f00000000c0)={'caif0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000000)=@newlink={0x44, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, r9}, [@IFLA_LINKINFO={0x24, 0x12, 0x0, 0x1, @gretap={{0xb, 0x1, 'gretap\x00'}, {0x14, 0x2, 0x0, 0x1, [@IFLA_GRE_ERSPAN_HWID={0x6, 0x18, 0xfffb}, @IFLA_GRE_OFLAGS={0x6, 0x3, 0x1}]}}}]}, 0x44}}, 0x0) 17:42:10 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000002c0)={0xffffffffffffffff}) connect$unix(r2, &(0x7f00000000c0)=@abs={0x0, 0x0, 0x4e24}, 0x6e) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) r4 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000000)='cpuacct.stat\x00', 0x0, 0x0) getsockopt$inet_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(r4, 0x84, 0xc, &(0x7f0000000040), &(0x7f0000000080)=0x4) r5 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r6) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 17:42:10 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) setxattr(&(0x7f0000000000)='./file0\x00', &(0x7f0000000140)=@random={'btrfs.', 'user.incfs.metadata\x00'}, 0x0, 0x0, 0x2) setxattr$incfs_metadata(&(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='user.incfs.metadata\x00', 0x0, 0x0, 0x1) 17:42:10 executing program 1: perf_event_open(&(0x7f00000012c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, &(0x7f0000000040)) r0 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vim2m\x00', 0x2, 0x0) r1 = fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) ioctl$sock_bt_hidp_HIDPGETCONNLIST(r1, 0x800448d2, &(0x7f0000000000)={0x6, &(0x7f0000000240)=[{@fixed}, {@none}, {@none}, {@fixed}, {@fixed}, {}]}) ioctl$FS_IOC_GETFLAGS(r0, 0x80086601, &(0x7f0000000080)) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000001980)={0x9, 0x2, 0x2}) sendmsg$IPSET_CMD_DESTROY(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, 0x0}, 0x0) ioctl$vim2m_VIDIOC_QUERYBUF(r0, 0xc044565d, &(0x7f0000000100)={0x0, 0x2, 0x4, 0x0, 0x0, {0x0, 0xea60}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "7aa65ae7"}, 0x0, 0x2, @userptr=0x81a0000, 0x96000}) 17:42:10 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) r3 = openat$full(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/full\x00', 0x10081, 0x0) ioctl$KVM_SET_XSAVE(r3, 0x5000aea5, &(0x7f0000000180)={[0x63d, 0x7fffffff, 0xfffffffb, 0x5, 0x9, 0xffff, 0x7, 0x8, 0xffffffff, 0x6, 0x28aaf2ef, 0x1000, 0x0, 0x1, 0x400, 0x4, 0x95e, 0x4, 0x6, 0x727, 0x5, 0xfffffffc, 0x9, 0x7fff, 0x7fffffff, 0x5, 0x2, 0x20, 0x5, 0x10001, 0x0, 0xd9d, 0x7, 0xfffff001, 0x5, 0x5c1b, 0x3f, 0x9, 0xffffffff, 0x2, 0x351c, 0x8, 0x1000, 0x7ff, 0x1f5c, 0xe5de, 0x4, 0x5, 0x5, 0x3, 0x1, 0x4, 0x4, 0x1, 0x6, 0x7, 0x0, 0x80000000, 0xfffff001, 0x4, 0x3f77, 0x5, 0x4, 0x3, 0x401, 0xff, 0xffff, 0x6, 0x101, 0x0, 0x2, 0x3, 0x1, 0x0, 0x47, 0x36, 0x7, 0x1ff, 0x200, 0x5, 0x8000, 0xca5, 0xc, 0x6, 0x4, 0x66a5b795, 0x1, 0x100, 0x10000, 0x4, 0x6, 0x3f, 0x800, 0x7, 0xfffffffb, 0x98, 0x8, 0x2, 0x2, 0x1000, 0x9, 0xffff, 0x7fff, 0x1fe00, 0xd73, 0x0, 0x9, 0x7, 0x3f, 0x8bf, 0x9, 0x1ff, 0x7, 0x7, 0xc7, 0x6, 0x10001, 0x8, 0x3, 0x2, 0x5, 0x4, 0x1ff, 0x2, 0x5, 0x4, 0x4, 0xc81, 0x200000, 0x3, 0x8432, 0x1ff, 0x4, 0x0, 0x9, 0x3f, 0x6, 0xfb, 0x20, 0x7e00000, 0x9, 0x100, 0xc6c2, 0xfff, 0x9, 0xffffffe0, 0x5, 0x6, 0x1, 0x0, 0x3f7e, 0x1, 0x8, 0x1, 0x5d891bc1, 0xffff, 0x4, 0x0, 0x9, 0x1, 0x5cbc, 0x3, 0x7, 0x80000000, 0x7, 0x6, 0x60, 0x401, 0x0, 0x400, 0xef, 0x9e, 0x2, 0x80, 0x0, 0x6, 0x3, 0x1f, 0x400, 0x3, 0x2, 0xc7, 0x2, 0x6, 0x931, 0xfffffff9, 0x7fff, 0x0, 0x4b9, 0xfff, 0x9, 0x9a75, 0xfff, 0x6, 0x4fa7, 0x4, 0x8, 0x5, 0x3, 0x2047, 0x5, 0x4, 0x8, 0x6e6, 0x10000, 0x1f, 0x24, 0x8, 0x1ff, 0x0, 0x7fff, 0x200, 0x3f, 0x7f, 0xb62d, 0x400, 0x20, 0x0, 0xa2, 0x5, 0x3ff, 0xac, 0x6, 0x3, 0x8, 0x1ff, 0x1236, 0x80000001, 0x3, 0x1, 0x0, 0x8, 0x3, 0x200, 0x9, 0x1315, 0x1ff, 0x7fff, 0x1, 0xa16e, 0x0, 0x0, 0x6, 0x8, 0x80, 0xc8e, 0x1, 0x8, 0x2, 0x10001, 0xab, 0xfd, 0x3f, 0x5, 0x100, 0x1, 0x692eca3, 0x3, 0x4, 0xb4, 0xc00, 0x1ff, 0x7094, 0x200, 0x3f, 0x10000, 0x6672, 0x0, 0x9, 0x2, 0x0, 0x7, 0x69, 0x6, 0x8, 0x3, 0x100, 0x401, 0x3, 0x0, 0x10000, 0x2, 0x8, 0x4, 0x1, 0xc6, 0x6f6e8fdc, 0x2, 0x6ad6c1f8, 0x2, 0x7ff, 0x6, 0x7, 0x2, 0xffffff04, 0x7fff, 0xffffffff, 0x80000001, 0x7ff, 0xbd, 0x2, 0x5d43c102, 0x80, 0x3, 0xd58b, 0x7, 0x3, 0x7, 0x1, 0x88c, 0x7, 0xbe, 0x6, 0x1, 0x8000, 0x5, 0x9, 0x1, 0x7, 0xffffffff, 0x5, 0x4, 0x2, 0x8, 0xffffff00, 0x2, 0x6, 0x6, 0x101, 0x3, 0x8, 0x6, 0x0, 0x9b9, 0x7d58, 0x511, 0x1, 0x2, 0x1, 0x4d, 0x9, 0xe78, 0x1, 0x3, 0x4000000, 0x0, 0xffffffc1, 0x379, 0x5, 0x0, 0x3800000, 0xf1b, 0x8c75, 0x8, 0x1, 0x8, 0x0, 0x0, 0x1, 0xd6, 0x0, 0x695c, 0x3f, 0x3, 0x7, 0x4735, 0xffffe000, 0x4, 0x5, 0x8000, 0x1, 0x5, 0x80000000, 0xfffffff9, 0xaa, 0xc2, 0x6, 0x1, 0x0, 0x0, 0xffffffc7, 0x70, 0x9, 0x3f, 0x0, 0x4, 0x9, 0x8, 0x2035, 0x9, 0x200, 0x7, 0x9, 0x4, 0x7, 0x8, 0x29, 0x101, 0x5, 0x1ff, 0x0, 0x40, 0x5, 0x5, 0x200, 0x0, 0x5, 0x80000001, 0x1, 0x1fe000, 0xffffff7f, 0x5, 0x0, 0x7, 0x2, 0x3c, 0x0, 0x1, 0x480000, 0x36, 0x401, 0x6, 0x80000000, 0x40000000, 0x663, 0x3f, 0x9, 0x6, 0x28d, 0xe07, 0x100, 0x3, 0x1000, 0x5, 0x2, 0x3, 0x0, 0x101, 0x9, 0x1, 0x6, 0x2, 0x100, 0x3, 0x1ff, 0x4, 0x10000, 0x7, 0x9, 0x52d, 0xd17, 0x2, 0x3e5, 0x1, 0x273, 0x7d, 0xffffffff, 0x1, 0x7, 0x2, 0xfff, 0x7f, 0x5, 0x0, 0xb9, 0x8, 0x8, 0x9, 0x21de, 0x7, 0x400, 0x1, 0x5, 0x4, 0x9, 0x1ff, 0x400, 0xa00, 0x9, 0x1, 0x10001, 0x7, 0x7, 0x4, 0x3, 0x7fff, 0x4, 0x80000001, 0xffff60c6, 0x10000, 0x2, 0x852, 0x8, 0x4, 0x1, 0x6b5, 0x400, 0x10000, 0x0, 0x401, 0xfffff000, 0x3, 0x5, 0x401, 0x4, 0xfffffeff, 0x76f, 0xf6, 0x4c8a, 0x3, 0xffff, 0x14, 0x0, 0x4, 0x3, 0x5bac, 0x0, 0x8, 0xff, 0x100, 0x40, 0x6, 0x2, 0x2, 0x10001, 0x41, 0x990, 0x4000, 0x7, 0x6, 0x3, 0x8, 0x1, 0x4, 0x0, 0x3, 0x10000, 0x5, 0xef, 0xcc, 0x0, 0x8001, 0x6, 0xffff, 0x1, 0x8, 0xff, 0x1, 0x5d6, 0x9, 0x8, 0x5, 0x3, 0x9, 0x1000, 0x3, 0x5, 0xd5b, 0xed, 0x4, 0x100, 0x2, 0x4, 0x1, 0x1, 0x4, 0x100, 0x4, 0x1000, 0x7ff, 0x83ed, 0x1, 0x1000, 0x40, 0x40, 0x0, 0x10000, 0x10000, 0x1f, 0x8, 0x2, 0x7ff, 0x6, 0x4, 0x8, 0x4, 0x6, 0x3, 0x3a, 0x6, 0x6, 0x2, 0x5, 0x400, 0x2, 0x7, 0x7, 0x2, 0x6, 0x400, 0x7f, 0x7, 0x8001, 0x81, 0x4, 0x0, 0x80000001, 0x2, 0x4, 0x3, 0x8, 0x3, 0x3, 0x5, 0x6, 0x8, 0x521f7556, 0x100000, 0x38f, 0x0, 0x7, 0x80000000, 0x2774, 0x25ed, 0x1, 0x1, 0x10000, 0x81, 0x0, 0x11, 0x0, 0x4, 0x4, 0x5, 0xfff, 0x7f, 0x2, 0xffff7fff, 0x2, 0xffffff26, 0x2, 0x2, 0x9, 0x4, 0x8, 0xc38, 0x38e2d63a, 0x7, 0x5, 0x401, 0x9, 0xc12, 0x9, 0x81, 0xa3dc, 0x2, 0x2, 0x6, 0x8, 0x7, 0x4a, 0xffffffff, 0x10000, 0x1, 0x40000000, 0x5, 0x3, 0xaa, 0x3, 0x7, 0x1, 0x1, 0x9, 0x6, 0x8, 0x9, 0x7ff, 0x80000001, 0x400, 0x20, 0xfffffffb, 0x9, 0x5, 0x4, 0xa2, 0x4, 0x10001, 0x80, 0x7, 0x2, 0x3d1324f, 0x7f, 0x8, 0x6, 0x81, 0x80000001, 0x100, 0x4, 0x2, 0x101, 0x7, 0x8000, 0x2, 0x5d, 0x4, 0x403, 0x7, 0x4, 0xee5, 0xfffffff0, 0xfffffff8, 0x5, 0x498, 0x1, 0x1, 0x6, 0x35bb, 0xde08, 0x72, 0x7ff, 0x7, 0x4, 0xdf4, 0x45b, 0x6, 0x833, 0x6d, 0x77ed, 0xffffffff, 0xff, 0x0, 0x1, 0x7f, 0x6, 0x5, 0x3, 0x2, 0x6, 0x3, 0x1000, 0x2, 0x4, 0x3, 0x4, 0x80000000, 0x7fff, 0xffffffff, 0xffffffff, 0x7ff, 0x28, 0xb2c, 0xffffffc8, 0x401, 0x8000, 0x3f, 0x9, 0x8, 0x5, 0x401, 0x1, 0xfffffff7, 0x3, 0xb85, 0x7cdd2c32, 0x7f, 0x1, 0x7, 0x8, 0x100, 0x1, 0x4, 0x32f73a0e, 0x200, 0x6c00, 0x813, 0xa4, 0x1, 0x2, 0x1, 0xffffffae, 0x100, 0xb99, 0x885, 0xbb3, 0x4acc, 0x8000, 0x0, 0x7fff, 0x2, 0x7, 0x9, 0x5, 0x3, 0x7, 0x4, 0x81, 0x3, 0x7, 0x5, 0x3f, 0x7, 0x9, 0x4, 0x7ff, 0x8d4, 0x6, 0x9, 0x3, 0x1, 0x8, 0x9, 0x6, 0x0, 0x3f, 0x4e, 0x9, 0xf09f, 0xea3, 0xd14, 0x7f, 0x4, 0x3, 0x5, 0x1, 0x8, 0x4, 0x5, 0x401, 0x40, 0x1f, 0x1000, 0x7fffffff, 0xffff, 0xd5c, 0x3, 0xac, 0xb80e28, 0x7, 0x7, 0xdf, 0x72, 0x0, 0x80, 0x5, 0x7fffffff, 0x8, 0x7, 0x6, 0x7, 0x7fff, 0x40, 0x5, 0xa1, 0x800, 0x5, 0x2, 0x71, 0xb329, 0x0, 0x7, 0x4, 0x1fc7, 0x6, 0xffffbf81, 0x3, 0x20, 0x7, 0x3, 0x3, 0x1f, 0x100, 0xecb, 0x9, 0x1, 0x8, 0x6, 0x6, 0xa, 0xf2, 0x7, 0x7fff, 0x7, 0x4, 0x401, 0x1, 0x8, 0x4, 0x1, 0x1, 0x6, 0x1, 0x0, 0xffff, 0xae9c, 0x8000, 0x200, 0x3ff, 0x9, 0x8, 0xfff, 0x4, 0x4, 0x8000, 0x1, 0x1ff, 0x10001, 0x7, 0x7, 0x2, 0x3ff, 0x99e5, 0x80, 0x801, 0x5, 0x2, 0x0, 0x6ea, 0xffffffff, 0x1f, 0x1fe00, 0x1000, 0x1, 0x1000, 0x3, 0x3f, 0x8957, 0x9, 0x6953, 0x1, 0xe30, 0xfff, 0x5, 0x2, 0x0, 0x8, 0x3, 0x4, 0xde, 0x1, 0x2, 0x40, 0xce, 0x480000, 0xda2d, 0xc2, 0x6, 0x0, 0x1ff, 0x4, 0x200, 0xfffffe01, 0x7, 0x10001, 0x7f, 0x8001, 0x9, 0x64, 0x4, 0x2512a1e1, 0xff, 0x240, 0x7fff, 0xffffffff, 0x22, 0xeb, 0x7, 0x9, 0x6ff, 0x81, 0x3, 0xfc, 0x2, 0x10001, 0x0, 0x2, 0x101, 0x8, 0x5, 0xffff7fff, 0x9, 0xa, 0x8000, 0x4, 0x5, 0x4, 0x10000, 0x7, 0x96, 0x2, 0x5, 0x561, 0x8, 0x2, 0xeb4, 0x1, 0x4, 0x3ff, 0x9, 0x2, 0x1000, 0x9, 0x800, 0x0, 0x8, 0x9, 0x5, 0x4, 0x3, 0x80000001, 0x3, 0xfffff17b, 0x4, 0x80000001, 0x4, 0x1f, 0x8, 0x40, 0x9, 0x31e, 0x8, 0x8, 0xffffffff, 0x3f, 0x1]}) r4 = signalfd(r2, &(0x7f0000000000)={[0xffffffff]}, 0x8) getsockopt$inet_sctp_SCTP_DISABLE_FRAGMENTS(r4, 0x84, 0x8, &(0x7f0000000040), &(0x7f0000000080)=0x4) write$UHID_INPUT(r2, &(0x7f0000001440), 0xfffffc41) fadvise64(r2, 0x0, 0x0, 0x4) 17:42:10 executing program 1: syz_open_dev$radio(&(0x7f0000000400)='/dev/radio#\x00', 0x2, 0x2) socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet6_tcp_TCP_ULP(0xffffffffffffffff, 0x6, 0x1f, &(0x7f0000000040)='tls\x00', 0x4) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) prlimit64(0x0, 0xe, &(0x7f0000000280)={0xc, 0x8d}, 0x0) syz_mount_image$msdos(&(0x7f00000002c0)='msdos\x00', &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a020002740ef801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') socket$netlink(0x10, 0x3, 0x4) sendmsg$netlink(0xffffffffffffffff, &(0x7f0000000400)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000100)={0x10, 0x21, 0xe03, 0x0, 0x0, "", [@generic]}, 0x10}], 0x1}, 0x20008000) getsockopt$SO_TIMESTAMP(0xffffffffffffffff, 0x1, 0x1d, 0x0, 0x0) pipe(0x0) r0 = open(&(0x7f00000000c0)='./file0\x00', 0x1013c1, 0x0) r1 = open$dir(&(0x7f0000000380)='./file0\x00', 0x0, 0x0) write$9p(r0, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372", 0x2a8) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, 0x0) setresuid(0x0, r2, 0x0) setresuid(0x0, 0x0, 0x0) sendfile(r0, r1, 0x0, 0x1c500) 17:42:10 executing program 5: socketpair$unix(0x1, 0x80000000001, 0x0, &(0x7f0000000500)={0xffffffffffffffff, 0xffffffffffffffff}) socket$inet_udplite(0x2, 0x2, 0x88) dup(0xffffffffffffffff) write$binfmt_elf64(r0, 0x0, 0x8724) r2 = perf_event_open(&(0x7f00000005c0)={0x1, 0x70, 0x0, 0x1, 0x0, 0xfd, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xd, 0xa, 0x0, 0x9ffd}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$BTRFS_IOC_START_SYNC(r2, 0x80089418, &(0x7f00000000c0)) ioctl(0xffffffffffffffff, 0x1, &(0x7f0000000000)="31efa7b87edcc504baa386b6737f268655706cdedfde5f96684142069e52cf50430db0e0097831c601ad14ac175f693fdf92d5a14a8d649ac31bc5c6f528427f4c12eca43a7965b003caabdc0ccd9b23e60d89ed8e40e70b2fd11d3cda0893853b4dd4fca12530db9ee3ff28b0fda84ca0ca20e4ec91ea4f8d5505cabaa019c996fe4e42f18422381a71cf4e23823969355a4ae4e7da275baf5a34cf3c64865aad83c205204287b123a59710d5bfb124987e6d7852bc559035e8bcabbe902f25") write$binfmt_misc(r0, &(0x7f00000000c0)=ANY=[], 0x7fffffff) r3 = openat$autofs(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/autofs\x00', 0x8000, 0x0) r4 = memfd_create(&(0x7f0000000240)='+&%\x00', 0x2) sendmsg$nl_netfilter(r3, &(0x7f00000002c0)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000280)={&(0x7f0000000640)={0x320, 0x10, 0x1, 0x3, 0x70bd28, 0x25dfdbfc, {0x1, 0x0, 0x3}, [@nested={0x30a, 0xa, 0x0, 0x1, [@typed={0x101, 0x23, 0x0, 0x0, @binary="d20d6c2dfea94fa187f66883e61d78cfa417ab4f1a22f3892867175dc97cc045e949360e48ba9d896127e53ff98e1323f507988e6dd89693babf500fb2a342e3ad5d3265a0593a2578e43e8a0133ddaac60d6b6e2b152d4230741caec0fbb88b514d06346b465484d56051755dd282e2c214b6096700dfeaea44cd5c2307bfffe6cea89c4ac0c4e8eef49c757d11ee2108b99030990eb2594c67eabd7de845fe967c9be40cf9d9dd069635c396bf27d7b7a7f54c5f6d449c26ab75774e14689b48cd939051fec2f5f5e1572c5d959a581a5b2dd81c5c795602420df49720b5d329bbd823b7cb63830b0d07272ebae6736bab69ce83d8136fdd9546e7c7"}, @typed={0x8, 0x1e, 0x0, 0x0, @fd=r4}, @typed={0xbd, 0x7e, 0x0, 0x0, @binary="b5ac82b8a7f9cd9f651677f79b5d109f698c3e21147d5b8e517faeeb3ceff7810972f9248877b0068a403def0f43b86bffa22a2fecfb03949135160f8c322a4fba1ae3db04ad22fe9ff8d7fb4eefe40bf99e1cb8aa34fcc6eff2b8905d107df741d8a7c33e977101729e100c0cda94f488d05c7f694e3dfb454da988b5368c14a826c4dfd12bd69a5a35dd657de9714dfb9d92835783f5dfa6c1a54bb85772f4ebd9ea6448960b17eede0853f8761161891f86a54b44b9c87c"}, @typed={0x14, 0x33, 0x0, 0x0, @ipv6=@local}, @generic="1cdb6a3f1d5db87c67dada1759b5d0edc926f38583a1e193b5358cbe60cd583be27c6be8f6c924a846ac8d933f5b57b2456b7701b2fec9d6e0d5c2977aa095dc9cd8676535a26fd1488b2e1dcc2ddd6417791cd1e36672b2bdf6fa86fd3be90ffc63af081c49c60f6d198a715db6bfb35b63bb19c41eb814631bf25ab2d654757b615d02d4816565d5083e9986ea1e43f77d996776b34c64f44dd6a195fb740b6eb05de132e1e9b67bb08b73d1edb6d3e8ff63b4e68ac199c359a90649621406839349146d1963a78b2810b8075f473ffd2857639d716e42c7c23bc9c9644b9f261a90359aaf", @typed={0x6, 0x3e, 0x0, 0x0, @str='!\x00'}, @typed={0x4, 0x7a}, @typed={0x8, 0x8b, 0x0, 0x0, @pid=0xffffffffffffffff}, @generic="c25019bb5cb644834696d7750d61e954fa267397105488456f1f26ea53a024b3f52f816d1d8f2fcc1581d4e4"]}]}, 0x320}, 0x1, 0x0, 0x0, 0x480c0}, 0x0) recvfrom(r1, &(0x7f0000000100)=""/184, 0xffffffe8, 0x40012500, 0x0, 0xffffffffffffff49) openat$nullb(0xffffffffffffff9c, &(0x7f00000003c0)='/dev/nullb0\x00', 0x301000, 0x0) r5 = syz_open_dev$audion(&(0x7f0000000300)='/dev/audio#\x00', 0x100000000, 0x20180) write$ppp(r5, &(0x7f0000000340)="96035818fd4f6c671856eac104880a2e310de0ba7b7a33053a1eb59021482ee36009d7888b31a7f246cd848dd1ea6b8c77225705ba599abd06f0c963e0316e3ee7a28ee4d285c52e548fbf16d5943f", 0x4f) 17:42:10 executing program 0: sendmsg$NLBL_CIPSOV4_C_LISTALL(0xffffffffffffffff, 0x0, 0x0) sendmsg$NLBL_CIPSOV4_C_REMOVE(0xffffffffffffffff, 0x0, 0x0) sendmsg$NLBL_CIPSOV4_C_LISTALL(0xffffffffffffffff, 0x0, 0x40400) sendmsg$NLBL_CIPSOV4_C_ADD(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000003c0)=ANY=[@ANYBLOB="b8000000"], 0xb8}, 0x1, 0x0, 0x0, 0x40000}, 0x0) sendmsg$NLBL_CIPSOV4_C_ADD(0xffffffffffffffff, 0x0, 0x0) sendmsg$NLBL_CIPSOV4_C_LIST(0xffffffffffffffff, &(0x7f0000000580)={&(0x7f0000000180), 0xc, &(0x7f0000000540)={&(0x7f00000005c0)=ANY=[@ANYBLOB="38690137157acd8c0000000000", @ANYRES16=0x0, @ANYBLOB="1000000001000000000020000500401c619363e6c9a467ed24019ad5e2e54ff8886d18be6437d99c47eb9aff591087f326bb8f7f9d1536994d9a3d6b723df310914e2b0a460e07e5daf9fbf3988846e3199e02264c7fa1cc38251e00890cf01e3796faf1fd78d7c1e748b72d3c03c6336f32149fd2355d43f92f4000148e7ade4617daf1eefc03d3dd5b1a87ce5c3167a498a6e3d336b258a8e8985d5761960ad31a0d1dd510713f5bdc1ba8b5288b6309e5843f79535fb7d240fb5e81c598e20ab267910483df505e65fb3666fdd5ec66495827839806b75a7c734029981bba58b55bf453642d6baff5e29fb360aea714cc6d7ebf732d91b662bc2f558fdbdb07e812bc753a98b39cf8eb4c3fe3a43e893de7f3de3a0cf508746f99e1d57a6a09633ad5cd5b05eb3d0a6d4b5b0f119cc950abce22a01f46b772cb6b83edeabdb12e814405104d36b7b621c0147825b1ef1f21c5787bc3ee9575088ce5008ab4378d512bed7a2448418ebd52f379904732348e60090dd46efb8d696a3dab49d04642dc2b6762b5bbdaa6dc550a40b25b5e354abdab779b70bf557d8870c56a19f19002588d7bc1e694b14c1f22c28f98b2e0b233c702a146ae57d8476197"], 0x14}}, 0x4000840) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) sendmsg$ETHTOOL_MSG_COALESCE_SET(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000280)={0x2c, 0x0, 0x2, 0x70bd2d, 0x25dfdbff, {}, [@ETHTOOL_A_COALESCE_PKT_RATE_LOW={0x8, 0xd, 0x1f}, @ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL={0x8, 0x17, 0x4}, @ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH={0x8, 0x16, 0x5}]}, 0x2c}, 0x1, 0x0, 0x0, 0x8880}, 0x4044800) mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x68200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$EVIOCGSW(0xffffffffffffffff, 0x8040451b, 0x0) bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000300)={0x0, &(0x7f0000000140)=""/56, 0xa0, 0x38, 0x1}, 0x20) pivot_root(&(0x7f0000000100)='./file0\x00', &(0x7f0000000080)='./file0\x00') r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) connect$inet6(r1, &(0x7f0000000100)={0xa, 0x0, 0x0, @empty}, 0x1c) syz_emit_ethernet(0x6e, &(0x7f0000000000)={@broadcast, @broadcast, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "d64d4d", 0x38, 0x3a, 0x0, @initdev={0xfe, 0x88, [0x0, 0x2], 0x0, 0x0}, @mcast2, {[], @dest_unreach={0x2, 0x0, 0x0, 0x0, [], {0x0, 0x6, '$\x00@', 0x0, 0x3a, 0x0, @mcast2={0xff, 0x2, [0x0, 0x0, 0x0, 0x0, 0x0, 0x16]}, @loopback, [], "050c68deb1caadea"}}}}}}}, 0x0) openat$null(0xffffffffffffff9c, 0x0, 0x0, 0x0) syz_extract_tcp_res$synack(&(0x7f0000000200), 0x1, 0x0) writev(r0, &(0x7f00000001c0)=[{&(0x7f0000000040)="390000001300034700bb65e1c3e4ffff06000000010000004500000025000000190004000400000007fd17e5ffff0606040000000000000000", 0x39}], 0x1) 17:42:10 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$IPT_SO_SET_REPLACE(r0, 0x0, 0x40, &(0x7f0000000940)=@filter={'filter\x00', 0xe, 0x4, 0x4a8, 0x198, 0x378, 0xb0, 0x0, 0x0, 0x230, 0x410, 0x410, 0x410, 0x230, 0x4, 0x0, {[{{@ip={@multicast1, @dev, 0x0, 0x0, 'ip_vti0\x00', 'veth1_to_team\x00'}, 0x0, 0x70, 0xb0}, @common=@unspec=@ERROR={0x40, 'ERROR\x00', 0x0, "ff467d8dd4a27742a0afaaf11c506c33096a51e23029ed6647bc3f11181a"}}, {{@uncond, 0x0, 0x2a0, 0x2c8, 0x0, {}, [@common=@unspec=@bpf0={{0x230, 'bpf\x00'}, {0x1, [{0x6}]}}]}, @REJECT={0x28, 'REJECT\x00'}}, {{@uncond, 0x0, 0x70, 0x98}, @REJECT={0x28, 'REJECT\x00'}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x508) r1 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r1, 0x6, 0x10000000013, &(0x7f0000d06000)=0x1, 0x4) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f00000002c0)='bridge_slave_0\x00', 0x10) connect$inet(r1, &(0x7f0000000080)={0x2, 0x0, @dev}, 0x10) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) r3 = dup(r2) setsockopt$netlink_NETLINK_DROP_MEMBERSHIP(r3, 0x10e, 0x2, &(0x7f0000000180)=0x1d, 0x4) openat(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x1, 0x129) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x420202) setsockopt$inet_tcp_TCP_REPAIR(r1, 0x6, 0x13, &(0x7f0000000100), 0x4) ioctl$PERF_EVENT_IOC_PERIOD(r3, 0x40082404, &(0x7f00000001c0)) r4 = syz_open_dev$vcsn(&(0x7f0000000240)='/dev/vcs#\x00', 0x5, 0x80000) recvmsg$can_raw(r4, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000500)=[{&(0x7f0000000300)=""/232, 0xe8}, {&(0x7f0000000400)=""/104, 0x68}, {&(0x7f0000000280)=""/42, 0x2a}, {&(0x7f0000000480)=""/120, 0x78}], 0x4, &(0x7f0000000540)=""/32, 0x20}, 0x16041) r5 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r5, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) getsockopt$inet_sctp6_SCTP_MAX_BURST(r5, 0x84, 0x14, &(0x7f0000000000), &(0x7f0000000040)=0x4) 17:42:10 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000002c0)='/dev/kvm\x00', 0x0, 0x0) mount$fuseblk(&(0x7f0000000180)='/dev/loop0\x00', 0x0, 0x0, 0x1c14b0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) getresuid(&(0x7f0000000000), &(0x7f00000000c0), &(0x7f0000000140)) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000011000/0x18000)=nil, &(0x7f00000008c0)=[@textreal={0x8, &(0x7f0000000100)="0f38f171ea0f35dbe1ba6100ec3e2e64d9e40fc7aef7ff0f01c90fc76d00260f06b800088ed0", 0x26}], 0x1, 0x0, 0x0, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) setsockopt$netlink_NETLINK_RX_RING(r3, 0x10e, 0x6, &(0x7f0000000080)={0x80000000, 0x6, 0x1, 0x1f}, 0x10) ioctl$KVM_SET_REGS(r4, 0x4090ae82, &(0x7f0000000640)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000004c9]}) ioctl$KVM_RUN(r4, 0xae80, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) 17:42:10 executing program 0: r0 = gettid() ptrace$setopts(0x4206, r0, 0x0, 0x0) tkill(r0, 0x33) ptrace$setregs(0xd, 0x0, 0x400000000, &(0x7f0000000080)) ptrace$cont(0x7, r0, 0x0, 0x0) tgkill(r0, 0xffffffffffffffff, 0x3d) 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) mount(0x0, &(0x7f0000000540)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0, 0x0, 0x0) pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) readlinkat(r2, &(0x7f0000000380)='\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', &(0x7f00000001c0)=""/5, 0x5) 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') perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0xfc, 0x4, 0x0, 0x0, 0x4, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) r3 = creat(&(0x7f0000000480)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) unlinkat(0xffffffffffffffff, &(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/\x00', 0x0) r4 = accept$unix(r1, &(0x7f0000000400)=@abs, &(0x7f0000000280)=0x6e) ioctl$sock_proto_private(r4, 0x89ee, &(0x7f00000005c0)="825298daec62e8a2a66f6e9fc9e6e939022d59ec88974e2f93ac1ea2f3591b276dc077ac8c4adb987d350a4be8e8a63a0c823ffa8f302b15aa270e44e7bb5b35e1caf9c494aa5e368031b05dfb0d09ce32f09131a92be73ab6147d7c414f89c0549228eda401e0d31e3072edc7e7fead7261ae444cdfeb61ee5181f04fae95be91aec6aa62ceca3bc14966a1400724d9ee6a71f12c22527b48fb078e69b644b696131b7cc2582e4b4b587838c7437c51f72a5ea86ed7c0eec3c23ec3c4aa874714f725bcb5f6ae3ad5") kcmp$KCMP_EPOLL_TFD(0x0, 0x0, 0x7, 0xffffffffffffffff, &(0x7f0000000200)={r3, 0xffffffffffffffff, 0x8}) 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') setsockopt$RDS_RECVERR(0xffffffffffffffff, 0x114, 0x5, &(0x7f0000000240), 0x4) syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='gid_map\x00') 17:42:10 executing program 1: r0 = syz_init_net_socket$llc(0x1a, 0x2, 0x0) setsockopt$CAIFSO_REQ_PARAM(r0, 0x116, 0x80, 0x0, 0x0) 17:42:10 executing program 5: write$P9_RREADDIR(0xffffffffffffffff, &(0x7f00000001c0)=ANY=[@ANYBLOB="22010000290100050000000201000000040000000000000000000080000000000807002e2f66696c65301000000000050000000000000007000000000000000707002e2f66696c65302001000000040000000000000007000000000000000707002e2f66696c65301001000000050000000000000004000000000000000107002e2f66696c653000030000000100000000000000f0bca82a000000800007002e2f66696c65300100000000080000000000000009000000000000003f07002e2f66696c6530000300000004000000000000004affffffffffffff0407002e2f66696c653040010000000100000000000000ffffffff000000000907002e2f66696c65300801000000070000000000000002000000000000001f07002e2f66696c653066eef28fd1891ca7d1d6d6a896b43b66901947d831ba41594955e5f69a6abc506ea4e3d05a2d24a1761b1a181857544d5186df36582bc15ef1bd08f80b3194bcf470dfb8a9c037a72247b8bd"], 0x122) syz_usbip_server_init(0x5) ioctl$VT_GETMODE(0xffffffffffffffff, 0x5601, &(0x7f0000000000)) ioperm(0x97ff8f2, 0x6, 0x3) ioctl$TUNATTACHFILTER(0xffffffffffffffff, 0x401054d5, &(0x7f0000000180)={0x6, &(0x7f0000000140)=[{0x9, 0x67, 0x7, 0x3f}, {0x1, 0x1, 0x6, 0x1f000000}, {0x0, 0x7f, 0x9, 0x83}, {0x2, 0x0, 0xb3, 0x5971}, {0x5, 0x0, 0x3, 0x80000001}, {0x40, 0x59, 0x0, 0x2a8000}]}) syz_open_dev$sndctrl(0x0, 0x6, 0x600000) 17:42:10 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000002180)=0xfc, 0x3c3) r1 = socket(0x10, 0x3, 0x0) r2 = socket$inet6(0xa, 0x400000000001, 0x0) close(r2) r3 = open(&(0x7f0000002000)='./bus\x00', 0xc4042, 0x0) sendfile(r2, r3, 0x0, 0x200fc0) ioctl$VIDIOC_QUERYMENU(r3, 0xc02c5625, &(0x7f0000000240)={0x8, 0x7, @value=0xfffffffffffffff9}) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = dup3(r1, r3, 0x80000) ioctl$SIOCGIFHWADDR(r5, 0x8927, &(0x7f00000002c0)={'macvtap0\x00'}) r6 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r6, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r6, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r4, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000004c0)=ANY=[@ANYBLOB="3c0000001000010400eec0fbb4802413e3390000", @ANYRES64, @ANYBLOB="01040000000000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000003c0)=@newqdisc={0x68, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r7, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa, 0x1, 'netem\x00'}, {0x38, 0x2, {{0x0, 0x100}, [@TCA_NETEM_LOSS={0x1c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}]}]}}}]}, 0x68}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r7, 0x1, 0x0, 0x6, @broadcast}, 0x14) sendmsg$NFQNL_MSG_CONFIG(0xffffffffffffffff, &(0x7f0000000500)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)={0x28, 0x2, 0x3, 0x801, 0x0, 0x0, {}, [@NFQA_CFG_PARAMS={0x9}, @NFQA_CFG_CMD={0x8, 0x1, {0x1}}]}, 0x28}}, 0x0) sendmsg$NFQNL_MSG_VERDICT_BATCH(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000440)={&(0x7f0000000380)={0x2c, 0x3, 0x3, 0x5, 0x0, 0x0, {}, [@NFQA_VERDICT_HDR={0xc, 0x2, {0xfffffffffffffffe, 0x40}}, @NFQA_VERDICT_HDR={0xc, 0x2, {0xfffffffffffffffe, 0x8001}}]}, 0x2c}, 0x1, 0x0, 0x0, 0x4000}, 0x40000) sendto$inet6(r0, &(0x7f0000000080)="03042a015c0060004003002cfff57b016d2763bd56373780398d537503e50602591f031ee616d5c0184374a7ffe4ec55e0654786a70100935ba514d40808efa000801601842fd08d49a47eff71bc4131fe4c1f99bf00a900000008d1843e770afd6e9ef5837dbd0000000053", 0x3287, 0x4000002, 0x0, 0x2ff) [ 417.561856] vhci_hcd vhci_hcd.0: pdev(5) rhport(0) sockfd(3) [ 417.567948] vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) [ 417.640468] vhci_hcd: connection closed [ 417.645088] BUG: unable to handle kernel NULL pointer dereference at 000000000000001c [ 417.657105] IP: kthread_stop+0x47/0x640 [ 417.661078] PGD 0 P4D 0 [ 417.663755] Oops: 0002 [#1] PREEMPT SMP KASAN [ 417.668239] Modules linked in: [ 417.671526] CPU: 1 PID: 121 Comm: kworker/u4:3 Not tainted 4.14.212-syzkaller #0 [ 417.679055] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 417.688498] Workqueue: usbip_event event_handler [ 417.693266] task: ffff8880b520c300 task.stack: ffff8880b5210000 [ 417.699342] RIP: 0010:kthread_stop+0x47/0x640 [ 417.703850] RSP: 0018:ffff8880b5217c70 EFLAGS: 00010297 [ 417.709211] RAX: ffff8880b520c300 RBX: 0000000000000001 RCX: 0000000000000000 [ 417.716477] RDX: 0000000000000000 RSI: 00000000ffffffff RDI: 0000000000000286 [ 417.723742] RBP: fffffffffffffffc R08: ffffffff8b9b0910 R09: 0000000000000000 [ 417.731008] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880a9abcb78 [ 417.738388] R13: ffff8880a9abcb68 R14: fffffbfff1924130 R15: ffffffff89857f80 [ 417.745652] FS: 0000000000000000(0000) GS:ffff8880ba500000(0000) knlGS:0000000000000000 [ 417.753879] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 417.759748] CR2: 000000000000001c CR3: 000000009adcb000 CR4: 00000000001406e0 [ 417.767193] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 417.774790] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 417.782036] Call Trace: [ 417.784608] vhci_shutdown_connection+0x12a/0x240 [ 417.789428] ? mark_held_locks+0xa6/0xf0 [ 417.793467] ? kfree+0x14a/0x250 [ 417.796809] ? event_handler+0x141/0x4a0 [ 417.800983] ? trace_hardirqs_on_caller+0x3a8/0x580 [ 417.805990] event_handler+0x1c3/0x4a0 [ 417.810001] ? rcu_lockdep_current_cpu_online+0xed/0x140 [ 417.815705] process_one_work+0x793/0x14a0 [ 417.819925] ? work_busy+0x320/0x320 [ 417.823614] ? worker_thread+0x158/0xff0 [ 417.827654] ? _raw_spin_unlock_irq+0x24/0x80 [ 417.832246] worker_thread+0x5cc/0xff0 [ 417.836122] ? rescuer_thread+0xc80/0xc80 [ 417.840246] kthread+0x30d/0x420 [ 417.843587] ? kthread_create_on_node+0xd0/0xd0 [ 417.848246] ret_from_fork+0x24/0x30 [ 417.851937] Code: 00 65 8b 1d bc 17 c9 7e 83 fb 07 0f 87 5b 04 00 00 e8 be d5 1e 00 89 db 48 0f a3 1d 0c 44 d0 08 0f 82 a2 03 00 00 e8 a9 d5 1e 00 ff 45 20 48 8d 7d 24 48 b8 00 00 00 00 00 fc ff df 48 89 fa [ 417.871123] RIP: kthread_stop+0x47/0x640 RSP: ffff8880b5217c70 [ 417.877066] CR2: 000000000000001c [ 417.880505] ---[ end trace 573cef6225deee3a ]--- [ 417.885336] Kernel panic - not syncing: Fatal exception [ 417.891498] Kernel Offset: disabled [ 417.895129] Rebooting in 86400 seconds..