25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x88000}, {&(0x7f0000045700)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000008000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a000000000000004000000000000000005802000000000000300200000000000030020000000000114b080000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000100000000000000010000000000000001101040000000000ffffffff00000000", 0x1a0, 0xff800}, {&(0x7f0000045900)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff9e0}, {&(0x7f0000045a00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xffbe0}, {&(0x7f0000045b00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xffde0}, {&(0x7f0000045c00)="000000000000000000000000000000000000000000000000000000000000080046494c4530000500000000000000000001000100400001006001000000080000000000000000000003000000010000000200000000000000000000000000000010000000600000000000180000000000480000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd601002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff0100000000ffffffff00000000", 0x180, 0xfffe0}, {&(0x7f0000045e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f0000045f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f0000046000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f0000046100)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000002000100400001006001000000080000000000000000000003000000020000000200000000000000000000000000000010000000600000000000180000000000480000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302000000ffffffff00000000", 0x180, 0x1007e0}, {&(0x7f0000046300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1009e0}, {&(0x7f0000046400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100be0}, {&(0x7f0000046500)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100de0}, {&(0x7f0000046600)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e801000000080000000000000000000006000000030000000200000000000000000000000000000010000000480000000000180000000000300000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000000000000000000000200", 0x220, 0x100fe0}, {&(0x7f0000046900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1013e0}, {&(0x7f0000046a00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1015e0}, {&(0x7f0000046b00)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x1017e0}, {&(0x7f0000086c00)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002000000a3b8b20fcf7aa836000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f0000086d00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f0000086e00)) 20:00:50 executing program 2: r0 = socket$unix(0x1, 0x2, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$nl_audit(0x10, 0x3, 0x9) r3 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r3, &(0x7f0000000100)={0x10, 0x0, 0x0, 0x80}, 0xc) dup3(r2, r3, 0x0) 20:00:50 executing program 1: 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, &(0x7f0000000000)='memory.events\x00', 0x7a05, 0x1700) ioctl$FITRIM(r1, 0xc020662a, &(0x7f0000000040)={0x0, 0x100000000004, 0x5}) 20:00:50 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_STAT_DEL(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000300)=ANY=[@ANYBLOB="38000000121401"], 0x38}}, 0x0) 20:00:50 executing program 3: r0 = socket$unix(0x1, 0x2, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$nl_audit(0x10, 0x3, 0x9) r3 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r3, &(0x7f0000000100)={0x10, 0x0, 0x0, 0x80}, 0xc) dup3(r2, r3, 0x0) 20:00:50 executing program 2: r0 = socket$unix(0x1, 0x2, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$nl_audit(0x10, 0x3, 0x9) r3 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r3, &(0x7f0000000100)={0x10, 0x0, 0x0, 0x80}, 0xc) dup3(r2, r3, 0x0) 20:00:50 executing program 1: 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, &(0x7f0000000000)='memory.events\x00', 0x7a05, 0x1700) ioctl$FITRIM(r1, 0xc020662a, &(0x7f0000000040)={0x0, 0x100000000004, 0x5}) 20:00:50 executing program 3: r0 = socket$unix(0x1, 0x2, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$nl_audit(0x10, 0x3, 0x9) r3 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r3, &(0x7f0000000100)={0x10, 0x0, 0x0, 0x80}, 0xc) dup3(r2, r3, 0x0) 20:00:50 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_STAT_DEL(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000300)=ANY=[@ANYBLOB="38000000121401"], 0x38}}, 0x0) 20:00:50 executing program 1: 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, &(0x7f0000000000)='memory.events\x00', 0x7a05, 0x1700) ioctl$FITRIM(r1, 0xc020662a, &(0x7f0000000040)={0x0, 0x100000000004, 0x5}) [ 217.371271][T14826] netlink: 40 bytes leftover after parsing attributes in process `syz-executor.0'. 20:00:50 executing program 2: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) [ 217.425313][T14829] loop4: detected capacity change from 8185 to 0 [ 217.481616][T14829] ntfs: volume version 3.1. [ 217.533527][T14842] netlink: 40 bytes leftover after parsing attributes in process `syz-executor.0'. 20:00:51 executing program 3: r0 = socket$unix(0x1, 0x2, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$nl_audit(0x10, 0x3, 0x9) r3 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r3, &(0x7f0000000100)={0x10, 0x0, 0x0, 0x80}, 0xc) dup3(r2, r3, 0x0) 20:00:51 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') open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) 20:00:51 executing program 1: 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, &(0x7f0000000000)='memory.events\x00', 0x7a05, 0x1700) ioctl$FITRIM(r1, 0xc020662a, &(0x7f0000000040)={0x0, 0x100000000004, 0x5}) 20:00:51 executing program 2: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 executing program 5: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 executing program 4: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 executing program 1: timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_create(0x0, 0x0, 0x0) fstat(0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000080)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000100)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) syslog(0x2, &(0x7f00000001c0)=""/234, 0xea) 20:00:51 executing program 4: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 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') open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) [ 217.924955][T14863] loop0: detected capacity change from 264192 to 0 20:00:51 executing program 2: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 executing program 5: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) [ 217.979370][T14863] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 20:00:51 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) [ 218.074012][ T24] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 20:00:51 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') open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) 20:00:51 executing program 2: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 executing program 4: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 executing program 5: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) 20:00:51 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x6}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}, 0x1c) shutdown(r0, 0x2) setsockopt$inet_sctp_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20}, 0xe) [ 218.231426][T14901] loop0: detected capacity change from 264192 to 0 [ 218.241730][T14901] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 20:00:51 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') open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) [ 218.311825][ T9801] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 218.434314][T14920] loop0: detected capacity change from 264192 to 0 [ 218.443389][T14920] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 218.473967][ T24] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 218.576778][T14936] loop0: detected capacity change from 264192 to 0 [ 218.603055][T14936] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 218.633727][ T8] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 20:00:51 executing program 1: timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_create(0x0, 0x0, 0x0) fstat(0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000080)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000100)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) syslog(0x2, &(0x7f00000001c0)=""/234, 0xea) 20:00:51 executing program 5: 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') open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) 20:00:51 executing program 2: r0 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0xfffffffffffffed3, &(0x7f0000000080)=[{&(0x7f0000000040)="2ea400001b000502d25a80648c69940d0124fc600c0006400a0000480200000037153e370948018002000000d1bd", 0xfdad}], 0x1}, 0x7a000000) 20:00:51 executing program 4: r0 = socket(0x2, 0x2, 0x0) syz_genetlink_get_family_id$team(&(0x7f00000006c0)='team\x00') getsockopt$bt_BT_SECURITY(r0, 0x11, 0xa, 0x0, 0x751000) 20:00:51 executing program 3: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000140)="890704faf3", 0x5) connect$inet(r0, &(0x7f0000000180)={0x2, 0x0, @loopback}, 0x10) r1 = socket$inet_tcp(0x2, 0x1, 0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = fcntl$dupfd(r3, 0x0, r2) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) setsockopt$inet_mreqn(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @loopback}, 0xc) getsockopt$inet_opts(r0, 0x0, 0x4, 0x0, &(0x7f00000002c0)) 20:00:51 executing program 0: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:52 executing program 1: timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_create(0x0, 0x0, 0x0) fstat(0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000080)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000100)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) syslog(0x2, &(0x7f00000001c0)=""/234, 0xea) 20:00:52 executing program 3: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000140)="890704faf3", 0x5) connect$inet(r0, &(0x7f0000000180)={0x2, 0x0, @loopback}, 0x10) r1 = socket$inet_tcp(0x2, 0x1, 0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = fcntl$dupfd(r3, 0x0, r2) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) setsockopt$inet_mreqn(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @loopback}, 0xc) getsockopt$inet_opts(r0, 0x0, 0x4, 0x0, &(0x7f00000002c0)) 20:00:52 executing program 4: r0 = socket(0x2, 0x2, 0x0) syz_genetlink_get_family_id$team(&(0x7f00000006c0)='team\x00') getsockopt$bt_BT_SECURITY(r0, 0x11, 0xa, 0x0, 0x751000) 20:00:52 executing program 2: r0 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0xfffffffffffffed3, &(0x7f0000000080)=[{&(0x7f0000000040)="2ea400001b000502d25a80648c69940d0124fc600c0006400a0000480200000037153e370948018002000000d1bd", 0xfdad}], 0x1}, 0x7a000000) [ 218.872064][T14954] netlink: 36566 bytes leftover after parsing attributes in process `syz-executor.2'. [ 218.878101][ T36] audit: type=1804 audit(1611777652.067:53): pid=14957 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir559756130/syzkaller.NL9HK2/159/file0/bus" dev="ramfs" ino=45016 res=1 errno=0 20:00:52 executing program 4: r0 = socket(0x2, 0x2, 0x0) syz_genetlink_get_family_id$team(&(0x7f00000006c0)='team\x00') getsockopt$bt_BT_SECURITY(r0, 0x11, 0xa, 0x0, 0x751000) 20:00:52 executing program 5: 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') open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) [ 218.922347][T14953] loop5: detected capacity change from 264192 to 0 [ 218.956167][T14953] FAT-fs (loop5): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 20:00:52 executing program 1: timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_create(0x0, 0x0, 0x0) fstat(0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000080)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000100)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) syslog(0x2, &(0x7f00000001c0)=""/234, 0xea) 20:00:52 executing program 3: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000140)="890704faf3", 0x5) connect$inet(r0, &(0x7f0000000180)={0x2, 0x0, @loopback}, 0x10) r1 = socket$inet_tcp(0x2, 0x1, 0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = fcntl$dupfd(r3, 0x0, r2) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) setsockopt$inet_mreqn(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @loopback}, 0xc) getsockopt$inet_opts(r0, 0x0, 0x4, 0x0, &(0x7f00000002c0)) [ 218.980202][ T36] audit: type=1804 audit(1611777652.107:54): pid=14957 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir559756130/syzkaller.NL9HK2/159/file0/bus" dev="ramfs" ino=45016 res=1 errno=0 [ 219.004363][ T36] audit: type=1804 audit(1611777652.107:55): pid=14957 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir559756130/syzkaller.NL9HK2/159/file0/bus" dev="ramfs" ino=45016 res=1 errno=0 20:00:52 executing program 2: r0 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0xfffffffffffffed3, &(0x7f0000000080)=[{&(0x7f0000000040)="2ea400001b000502d25a80648c69940d0124fc600c0006400a0000480200000037153e370948018002000000d1bd", 0xfdad}], 0x1}, 0x7a000000) 20:00:52 executing program 4: r0 = socket(0x2, 0x2, 0x0) syz_genetlink_get_family_id$team(&(0x7f00000006c0)='team\x00') getsockopt$bt_BT_SECURITY(r0, 0x11, 0xa, 0x0, 0x751000) [ 219.049468][T14971] netlink: 36566 bytes leftover after parsing attributes in process `syz-executor.2'. 20:00:52 executing program 4: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000140)="890704faf3", 0x5) connect$inet(r0, &(0x7f0000000180)={0x2, 0x0, @loopback}, 0x10) r1 = socket$inet_tcp(0x2, 0x1, 0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = fcntl$dupfd(r3, 0x0, r2) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) setsockopt$inet_mreqn(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @loopback}, 0xc) getsockopt$inet_opts(r0, 0x0, 0x4, 0x0, &(0x7f00000002c0)) 20:00:52 executing program 0: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:52 executing program 5: 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') open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) 20:00:52 executing program 1: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:52 executing program 3: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000140)="890704faf3", 0x5) connect$inet(r0, &(0x7f0000000180)={0x2, 0x0, @loopback}, 0x10) r1 = socket$inet_tcp(0x2, 0x1, 0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = fcntl$dupfd(r3, 0x0, r2) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) setsockopt$inet_mreqn(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @loopback}, 0xc) getsockopt$inet_opts(r0, 0x0, 0x4, 0x0, &(0x7f00000002c0)) [ 219.162503][ T36] audit: type=1804 audit(1611777652.347:56): pid=14983 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir559756130/syzkaller.NL9HK2/159/file0/file0/bus" dev="ramfs" ino=45050 res=1 errno=0 [ 219.162602][T14984] loop5: detected capacity change from 264192 to 0 [ 219.201291][T14984] FAT-fs (loop5): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 219.243473][ T36] audit: type=1804 audit(1611777652.377:57): pid=14965 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir559756130/syzkaller.NL9HK2/159/file0/file0/bus" dev="ramfs" ino=45050 res=1 errno=0 [ 219.269300][ T36] audit: type=1804 audit(1611777652.377:58): pid=14983 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir559756130/syzkaller.NL9HK2/159/file0/file0/bus" dev="ramfs" ino=45050 res=1 errno=0 20:00:52 executing program 2: r0 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0xfffffffffffffed3, &(0x7f0000000080)=[{&(0x7f0000000040)="2ea400001b000502d25a80648c69940d0124fc600c0006400a0000480200000037153e370948018002000000d1bd", 0xfdad}], 0x1}, 0x7a000000) 20:00:52 executing program 4: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000140)="890704faf3", 0x5) connect$inet(r0, &(0x7f0000000180)={0x2, 0x0, @loopback}, 0x10) r1 = socket$inet_tcp(0x2, 0x1, 0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = fcntl$dupfd(r3, 0x0, r2) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) setsockopt$inet_mreqn(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @loopback}, 0xc) getsockopt$inet_opts(r0, 0x0, 0x4, 0x0, &(0x7f00000002c0)) [ 219.289362][T14990] netlink: 36566 bytes leftover after parsing attributes in process `syz-executor.2'. [ 219.308523][ T9801] FAT-fs (loop5): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 20:00:52 executing program 3: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) [ 219.361665][ T36] audit: type=1804 audit(1611777652.547:59): pid=14999 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir331142387/syzkaller.GSUtmi/154/file0/bus" dev="ramfs" ino=45374 res=1 errno=0 20:00:52 executing program 2: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) [ 219.465866][ T36] audit: type=1804 audit(1611777652.567:60): pid=14998 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir559756130/syzkaller.NL9HK2/160/file0/bus" dev="ramfs" ino=46110 res=1 errno=0 [ 219.490243][T15002] loop5: detected capacity change from 264192 to 0 [ 219.495603][T15007] netlink: 36566 bytes leftover after parsing attributes in process `syz-executor.2'. 20:00:52 executing program 4: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000140)="890704faf3", 0x5) connect$inet(r0, &(0x7f0000000180)={0x2, 0x0, @loopback}, 0x10) r1 = socket$inet_tcp(0x2, 0x1, 0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = fcntl$dupfd(r3, 0x0, r2) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) setsockopt$inet_mreqn(r1, 0x0, 0x27, &(0x7f0000000040)={@multicast2, @loopback}, 0xc) getsockopt$inet_opts(r0, 0x0, 0x4, 0x0, &(0x7f00000002c0)) [ 219.507755][ T36] audit: type=1804 audit(1611777652.587:61): pid=14999 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.1" name="/root/syzkaller-testdir331142387/syzkaller.GSUtmi/154/file0/bus" dev="ramfs" ino=45374 res=1 errno=0 [ 219.532343][ T36] audit: type=1804 audit(1611777652.587:62): pid=14999 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.1" name="/root/syzkaller-testdir331142387/syzkaller.GSUtmi/154/file0/bus" dev="ramfs" ino=45374 res=1 errno=0 [ 219.560835][T15002] FAT-fs (loop5): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) 20:00:52 executing program 5: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:52 executing program 1: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:52 executing program 0: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:52 executing program 2: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:53 executing program 4: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:53 executing program 3: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:53 executing program 1: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:53 executing program 5: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:53 executing program 0: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:53 executing program 2: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:53 executing program 4: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:53 executing program 3: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:54 executing program 5: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:54 executing program 1: bpf$PROG_LOAD(0x5, &(0x7f0000b7a000)={0x1, 0x4, &(0x7f0000000240)=@framed={{0x18, 0x6}, [@alu={0x0, 0x0, 0x2, 0x0, 0x3}]}, &(0x7f0000000000)='GPL\x00', 0x5, 0x3e2, &(0x7f0000000040)=""/264, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffe47, 0x10, &(0x7f0000000000), 0xe}, 0x34) 20:00:54 executing program 4: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000100)='ramfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) perf_event_open(&(0x7f000001d000)={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, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000400)='./bus\x00', 0x4093e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) openat$ubi_ctrl(0xffffffffffffff9c, 0x0, 0x0, 0x0) 20:00:54 executing program 0: clone(0x20002044dfc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000280)={0x26, 'hash\x00', 0x0, 0x0, 'cryptd(sha224-generic)\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000001600)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xe803}}], 0x500, 0x0, 0x0) 20:00:54 executing program 2: r0 = epoll_create(0x200) r1 = eventfd(0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000000)) 20:00:54 executing program 1: bpf$PROG_LOAD(0x5, &(0x7f0000b7a000)={0x1, 0x4, &(0x7f0000000240)=@framed={{0x18, 0x6}, [@alu={0x0, 0x0, 0x2, 0x0, 0x3}]}, &(0x7f0000000000)='GPL\x00', 0x5, 0x3e2, &(0x7f0000000040)=""/264, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffe47, 0x10, &(0x7f0000000000), 0xe}, 0x34) 20:00:54 executing program 3: r0 = add_key$user(&(0x7f00000000c0)='user\x00', &(0x7f0000000240)={'syz'}, &(0x7f0000000680)="585ccbe4ed83b836c1a6474914dc55e72206297b6895b66147b3c7218a9169a85ea0bdc9e1587a050000000000000042e33089754c8107c3cd3923dd4a71c2ff06007b6b4816122d2550829eaa9435c99926022b8753a188748c569f435fb3bae96efb74b50ec93cb0725be6027d152f5e8e198a29e5c0d0c60000ce0637ce0000b4ec24c53d3d661ff5ff70e48884ca000018cea71fcfacf40d32e4b58a8d2725561f6110fd7b06f90b5274cc5c1e298a16324fe27da2a9d5ba9ff3c009d308", 0xc0, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f00000005c0)={'syz'}, &(0x7f0000000100)='\x00', 0x1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000080)={r1, r0, r1}, &(0x7f0000000440)=""/243, 0xf3, &(0x7f0000000000)={&(0x7f00000001c0)={'crc32c-generic\x00'}, &(0x7f0000000040)="68d6e1c6", 0x4}) 20:00:54 executing program 1: bpf$PROG_LOAD(0x5, &(0x7f0000b7a000)={0x1, 0x4, &(0x7f0000000240)=@framed={{0x18, 0x6}, [@alu={0x0, 0x0, 0x2, 0x0, 0x3}]}, &(0x7f0000000000)='GPL\x00', 0x5, 0x3e2, &(0x7f0000000040)=""/264, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffe47, 0x10, &(0x7f0000000000), 0xe}, 0x34) 20:00:54 executing program 0: clone(0x20002044dfc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000280)={0x26, 'hash\x00', 0x0, 0x0, 'cryptd(sha224-generic)\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000001600)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xe803}}], 0x500, 0x0, 0x0) 20:00:54 executing program 2: r0 = epoll_create(0x200) r1 = eventfd(0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000000)) 20:00:54 executing program 5: r0 = epoll_create(0x200) r1 = eventfd(0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000000)) 20:00:54 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:54 executing program 1: bpf$PROG_LOAD(0x5, &(0x7f0000b7a000)={0x1, 0x4, &(0x7f0000000240)=@framed={{0x18, 0x6}, [@alu={0x0, 0x0, 0x2, 0x0, 0x3}]}, &(0x7f0000000000)='GPL\x00', 0x5, 0x3e2, &(0x7f0000000040)=""/264, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffe47, 0x10, &(0x7f0000000000), 0xe}, 0x34) 20:00:54 executing program 3: r0 = add_key$user(&(0x7f00000000c0)='user\x00', &(0x7f0000000240)={'syz'}, &(0x7f0000000680)="585ccbe4ed83b836c1a6474914dc55e72206297b6895b66147b3c7218a9169a85ea0bdc9e1587a050000000000000042e33089754c8107c3cd3923dd4a71c2ff06007b6b4816122d2550829eaa9435c99926022b8753a188748c569f435fb3bae96efb74b50ec93cb0725be6027d152f5e8e198a29e5c0d0c60000ce0637ce0000b4ec24c53d3d661ff5ff70e48884ca000018cea71fcfacf40d32e4b58a8d2725561f6110fd7b06f90b5274cc5c1e298a16324fe27da2a9d5ba9ff3c009d308", 0xc0, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f00000005c0)={'syz'}, &(0x7f0000000100)='\x00', 0x1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000080)={r1, r0, r1}, &(0x7f0000000440)=""/243, 0xf3, &(0x7f0000000000)={&(0x7f00000001c0)={'crc32c-generic\x00'}, &(0x7f0000000040)="68d6e1c6", 0x4}) 20:00:54 executing program 2: r0 = epoll_create(0x200) r1 = eventfd(0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000000)) 20:00:54 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000500)='attr\x00') open(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) fchdir(r0) quotactl(0x2080000201, &(0x7f0000000100)='./file1\x00', 0x0, &(0x7f0000000180)="a7a7") 20:00:54 executing program 2: r0 = epoll_create(0x200) r1 = eventfd(0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000000)) 20:00:54 executing program 5: r0 = epoll_create(0x200) r1 = eventfd(0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000000)) 20:00:54 executing program 3: r0 = add_key$user(&(0x7f00000000c0)='user\x00', &(0x7f0000000240)={'syz'}, &(0x7f0000000680)="585ccbe4ed83b836c1a6474914dc55e72206297b6895b66147b3c7218a9169a85ea0bdc9e1587a050000000000000042e33089754c8107c3cd3923dd4a71c2ff06007b6b4816122d2550829eaa9435c99926022b8753a188748c569f435fb3bae96efb74b50ec93cb0725be6027d152f5e8e198a29e5c0d0c60000ce0637ce0000b4ec24c53d3d661ff5ff70e48884ca000018cea71fcfacf40d32e4b58a8d2725561f6110fd7b06f90b5274cc5c1e298a16324fe27da2a9d5ba9ff3c009d308", 0xc0, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f00000005c0)={'syz'}, &(0x7f0000000100)='\x00', 0x1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000080)={r1, r0, r1}, &(0x7f0000000440)=""/243, 0xf3, &(0x7f0000000000)={&(0x7f00000001c0)={'crc32c-generic\x00'}, &(0x7f0000000040)="68d6e1c6", 0x4}) 20:00:54 executing program 0: clone(0x20002044dfc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000280)={0x26, 'hash\x00', 0x0, 0x0, 'cryptd(sha224-generic)\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000001600)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xe803}}], 0x500, 0x0, 0x0) 20:00:54 executing program 2: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:54 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000500)='attr\x00') open(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) fchdir(r0) quotactl(0x2080000201, &(0x7f0000000100)='./file1\x00', 0x0, &(0x7f0000000180)="a7a7") 20:00:54 executing program 3: r0 = add_key$user(&(0x7f00000000c0)='user\x00', &(0x7f0000000240)={'syz'}, &(0x7f0000000680)="585ccbe4ed83b836c1a6474914dc55e72206297b6895b66147b3c7218a9169a85ea0bdc9e1587a050000000000000042e33089754c8107c3cd3923dd4a71c2ff06007b6b4816122d2550829eaa9435c99926022b8753a188748c569f435fb3bae96efb74b50ec93cb0725be6027d152f5e8e198a29e5c0d0c60000ce0637ce0000b4ec24c53d3d661ff5ff70e48884ca000018cea71fcfacf40d32e4b58a8d2725561f6110fd7b06f90b5274cc5c1e298a16324fe27da2a9d5ba9ff3c009d308", 0xc0, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000200)='user\x00', &(0x7f00000005c0)={'syz'}, &(0x7f0000000100)='\x00', 0x1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000080)={r1, r0, r1}, &(0x7f0000000440)=""/243, 0xf3, &(0x7f0000000000)={&(0x7f00000001c0)={'crc32c-generic\x00'}, &(0x7f0000000040)="68d6e1c6", 0x4}) [ 221.644789][T15128] IPVS: sync thread started: state = BACKUP, mcast_ifn = veth0_to_bridge, syncid = 2, id = 0 20:00:55 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:55 executing program 5: r0 = epoll_create(0x200) r1 = eventfd(0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000000)) 20:00:55 executing program 2: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:55 executing program 3: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:55 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000500)='attr\x00') open(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) fchdir(r0) quotactl(0x2080000201, &(0x7f0000000100)='./file1\x00', 0x0, &(0x7f0000000180)="a7a7") 20:00:55 executing program 0: clone(0x20002044dfc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000280)={0x26, 'hash\x00', 0x0, 0x0, 'cryptd(sha224-generic)\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000001600)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xe803}}], 0x500, 0x0, 0x0) 20:00:55 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:55 executing program 3: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:55 executing program 2: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:55 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000500)='attr\x00') open(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) fchdir(r0) quotactl(0x2080000201, &(0x7f0000000100)='./file1\x00', 0x0, &(0x7f0000000180)="a7a7") 20:00:55 executing program 3: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) [ 222.101025][T15147] IPVS: sync thread started: state = BACKUP, mcast_ifn = veth0_to_bridge, syncid = 2, id = 0 20:00:55 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:55 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:55 executing program 2: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:55 executing program 3: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:55 executing program 0: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:56 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:56 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:56 executing program 3: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:56 executing program 0: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:56 executing program 2: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xad, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:00:56 executing program 3: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:56 executing program 0: socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x22, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) r1 = accept$inet(r0, 0x0, &(0x7f0000000140)) setsockopt$IP_VS_SO_SET_STARTDAEMON(r1, 0x0, 0x48b, &(0x7f00000000c0)={0x2, 'netdevsim0\x00', 0x2}, 0x18) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000100)=0x100000, 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r2, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$IP_VS_SO_SET_STARTDAEMON(r2, 0x0, 0x48b, &(0x7f0000000180)={0x2, 'veth0_to_bridge\x00', 0x2}, 0x18) r3 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$inet_int(r3, 0x0, 0xc, &(0x7f0000000a40), &(0x7f0000000a80)=0x4) setsockopt$inet_MCAST_JOIN_GROUP(r3, 0x0, 0x2a, &(0x7f0000000000)={0xffffffc1, {{0x2, 0x4e21, @multicast1}}}, 0x88) 20:00:56 executing program 2: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xad, &(0x7f0000000080), &(0x7f00000000c0)=0x4) [ 222.933642][T15183] IPVS: sync thread started: state = BACKUP, mcast_ifn = veth0_to_bridge, syncid = 2, id = 0 20:00:56 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:56 executing program 3: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xad, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:00:56 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:56 executing program 2: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xad, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:00:56 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:56 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file0\x00', 0x0) chdir(&(0x7f0000000140)='./bus\x00') r1 = open(&(0x7f0000000240)='./file1\x00', 0x141142, 0x0) write$UHID_INPUT(r1, &(0x7f0000001440), 0xfffffc41) rename(&(0x7f00000002c0)='./file0\x00', &(0x7f0000000400)='./file1\x00') lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file1\x00', &(0x7f0000000180)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) 20:00:56 executing program 3: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xad, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:00:56 executing program 2: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xad, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:00:57 executing program 3: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xad, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:00:57 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 4: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) 20:00:57 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r3, &(0x7f0000000100)={0x40000000, 0x0, &(0x7f00008feff0)={&(0x7f00000004c0)={0x2, 0xd, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x6, 0x0, 0x20, 0x0, @in={0x2, 0x0, @multicast1}}, @sadb_x_policy={0x8, 0x12, 0x0, 0x2, 0x0, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @in6=@private1, @in=@remote}}, @sadb_address={0x3, 0x5, 0x0, 0x0, 0x0, @in={0x2, 0x0, @multicast1}}]}, 0x80}}, 0x0) 20:00:57 executing program 5: r0 = syz_io_uring_setup(0x6b52, &(0x7f0000000580), &(0x7f0000ffa000/0x3000)=nil, &(0x7f00005eb000/0x2000)=nil, &(0x7f0000000180)=0x0, &(0x7f0000000040)=0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0x275a, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000280)={0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f00, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) write$binfmt_script(r3, &(0x7f0000000180)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000100)=@IORING_OP_CONNECT={0x10, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x56b0, 0x0, 0x0, 0x0, 0x0) 20:00:57 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000080)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xfe}) 20:00:57 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r3, &(0x7f0000000100)={0x40000000, 0x0, &(0x7f00008feff0)={&(0x7f00000004c0)={0x2, 0xd, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x6, 0x0, 0x20, 0x0, @in={0x2, 0x0, @multicast1}}, @sadb_x_policy={0x8, 0x12, 0x0, 0x2, 0x0, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @in6=@private1, @in=@remote}}, @sadb_address={0x3, 0x5, 0x0, 0x0, 0x0, @in={0x2, 0x0, @multicast1}}]}, 0x80}}, 0x0) 20:00:57 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000080)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xfe}) 20:00:57 executing program 5: r0 = syz_io_uring_setup(0x6b52, &(0x7f0000000580), &(0x7f0000ffa000/0x3000)=nil, &(0x7f00005eb000/0x2000)=nil, &(0x7f0000000180)=0x0, &(0x7f0000000040)=0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0x275a, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000280)={0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f00, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) write$binfmt_script(r3, &(0x7f0000000180)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000100)=@IORING_OP_CONNECT={0x10, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x56b0, 0x0, 0x0, 0x0, 0x0) 20:00:57 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r3, &(0x7f0000000100)={0x40000000, 0x0, &(0x7f00008feff0)={&(0x7f00000004c0)={0x2, 0xd, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x6, 0x0, 0x20, 0x0, @in={0x2, 0x0, @multicast1}}, @sadb_x_policy={0x8, 0x12, 0x0, 0x2, 0x0, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @in6=@private1, @in=@remote}}, @sadb_address={0x3, 0x5, 0x0, 0x0, 0x0, @in={0x2, 0x0, @multicast1}}]}, 0x80}}, 0x0) 20:00:57 executing program 2: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000080)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xfe}) [ 224.552639][T15284] input: syz1 as /devices/virtual/input/input13 20:00:57 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r2, 0xc008ae88, &(0x7f0000000100)={0x1, 0x0, [{0x40000108}]}) 20:00:57 executing program 4: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) 20:00:57 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000080)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xfe}) 20:00:57 executing program 5: r0 = syz_io_uring_setup(0x6b52, &(0x7f0000000580), &(0x7f0000ffa000/0x3000)=nil, &(0x7f00005eb000/0x2000)=nil, &(0x7f0000000180)=0x0, &(0x7f0000000040)=0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0x275a, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000280)={0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f00, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) write$binfmt_script(r3, &(0x7f0000000180)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000100)=@IORING_OP_CONNECT={0x10, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x56b0, 0x0, 0x0, 0x0, 0x0) 20:00:57 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r3, &(0x7f0000000100)={0x40000000, 0x0, &(0x7f00008feff0)={&(0x7f00000004c0)={0x2, 0xd, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x6, 0x0, 0x20, 0x0, @in={0x2, 0x0, @multicast1}}, @sadb_x_policy={0x8, 0x12, 0x0, 0x2, 0x0, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @in6=@private1, @in=@remote}}, @sadb_address={0x3, 0x5, 0x0, 0x0, 0x0, @in={0x2, 0x0, @multicast1}}]}, 0x80}}, 0x0) 20:00:57 executing program 2: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000080)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xfe}) [ 224.658838][T15313] input: syz1 as /devices/virtual/input/input14 20:00:58 executing program 3: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) 20:00:58 executing program 0: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000080)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xfe}) 20:00:58 executing program 1: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) 20:00:58 executing program 2: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000080)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xfe}) 20:00:58 executing program 4: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) 20:00:58 executing program 5: r0 = syz_io_uring_setup(0x6b52, &(0x7f0000000580), &(0x7f0000ffa000/0x3000)=nil, &(0x7f00005eb000/0x2000)=nil, &(0x7f0000000180)=0x0, &(0x7f0000000040)=0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0x275a, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000280)={0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f00, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) write$binfmt_script(r3, &(0x7f0000000180)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000100)=@IORING_OP_CONNECT={0x10, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x56b0, 0x0, 0x0, 0x0, 0x0) [ 224.802556][T15345] input: syz1 as /devices/virtual/input/input15 20:00:58 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r3, &(0x7f0000000100)={0x40000000, 0x0, &(0x7f00008feff0)={&(0x7f00000004c0)={0x2, 0xd, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x6, 0x0, 0x20, 0x0, @in={0x2, 0x0, @multicast1}}, @sadb_x_policy={0x8, 0x12, 0x0, 0x2, 0x0, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @in6=@private1, @in=@remote}}, @sadb_address={0x3, 0x5, 0x0, 0x0, 0x0, @in={0x2, 0x0, @multicast1}}]}, 0x80}}, 0x0) 20:00:58 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000000)={0x44, 0x1, 0x1, 0x5, 0x0, 0x0, {0x2}, [@CTA_TUPLE_REPLY={0x30, 0x2, 0x0, 0x1, [@CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @remote}, {0x14, 0x4, @ipv4={[], [], @remote}}}}]}]}, 0x44}}, 0x0) 20:00:58 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000001000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f00000000fcfdffff01000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {0x0, 0x0, 0x1000}], 0x0, &(0x7f0000014a00)=ANY=[]) 20:00:58 executing program 3: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) [ 224.884353][T15356] input: syz1 as /devices/virtual/input/input16 20:00:58 executing program 1: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) 20:00:58 executing program 4: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) 20:00:58 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000000)={0x44, 0x1, 0x1, 0x5, 0x0, 0x0, {0x2}, [@CTA_TUPLE_REPLY={0x30, 0x2, 0x0, 0x1, [@CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @remote}, {0x14, 0x4, @ipv4={[], [], @remote}}}}]}]}, 0x44}}, 0x0) 20:00:58 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r3, &(0x7f0000000100)={0x40000000, 0x0, &(0x7f00008feff0)={&(0x7f00000004c0)={0x2, 0xd, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x6, 0x0, 0x20, 0x0, @in={0x2, 0x0, @multicast1}}, @sadb_x_policy={0x8, 0x12, 0x0, 0x2, 0x0, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @in6=@private1, @in=@remote}}, @sadb_address={0x3, 0x5, 0x0, 0x0, 0x0, @in={0x2, 0x0, @multicast1}}]}, 0x80}}, 0x0) [ 224.940305][T15370] input: syz1 as /devices/virtual/input/input17 [ 224.964354][T15371] input: syz1 as /devices/virtual/input/input18 20:00:58 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r3, &(0x7f0000000100)={0x40000000, 0x0, &(0x7f00008feff0)={&(0x7f00000004c0)={0x2, 0xd, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x6, 0x0, 0x20, 0x0, @in={0x2, 0x0, @multicast1}}, @sadb_x_policy={0x8, 0x12, 0x0, 0x2, 0x0, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @in6=@private1, @in=@remote}}, @sadb_address={0x3, 0x5, 0x0, 0x0, 0x0, @in={0x2, 0x0, @multicast1}}]}, 0x80}}, 0x0) 20:00:58 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000000)={0x44, 0x1, 0x1, 0x5, 0x0, 0x0, {0x2}, [@CTA_TUPLE_REPLY={0x30, 0x2, 0x0, 0x1, [@CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @remote}, {0x14, 0x4, @ipv4={[], [], @remote}}}}]}]}, 0x44}}, 0x0) 20:00:58 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000000)={0x44, 0x1, 0x1, 0x5, 0x0, 0x0, {0x2}, [@CTA_TUPLE_REPLY={0x30, 0x2, 0x0, 0x1, [@CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @remote}, {0x14, 0x4, @ipv4={[], [], @remote}}}}]}]}, 0x44}}, 0x0) 20:00:58 executing program 3: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) 20:00:58 executing program 2: r0 = syz_open_dev$swradio(&(0x7f0000000140)='/dev/swradio#\x00', 0x0, 0x2) ioctl$VIDIOC_ENUM_FMT(r0, 0xc0405602, &(0x7f00000001c0)={0x2, 0xb, 0x0, "e18a1b5fca33b162bc5aa13f018f1a2ec31016706e3322af70cac955195aac31"}) 20:00:58 executing program 1: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f0000000c00)={'syz1\x00'}, 0x45c) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) readv(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/163, 0xa3}], 0x1) write$uinput_user_dev(r0, &(0x7f0000000380)={'syz0\x00', {}, 0x0, [], [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000]}, 0x45c) [ 225.102145][T15402] input: syz1 as /devices/virtual/input/input19 [ 225.111911][T15399] loop5: detected capacity change from 16 to 0 [ 225.119359][T15404] input: syz1 as /devices/virtual/input/input20 [ 225.119672][T15407] input: syz1 as /devices/virtual/input/input21 20:00:58 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000001000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f00000000fcfdffff01000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {0x0, 0x0, 0x1000}], 0x0, &(0x7f0000014a00)=ANY=[]) 20:00:58 executing program 4: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:00:58 executing program 0: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) [ 225.163726][T15399] EXT4-fs (loop5): cluster size (2048) smaller than block size (4096) [ 225.191761][T15399] loop5: detected capacity change from 16 to 0 [ 225.206796][T15399] EXT4-fs (loop5): cluster size (2048) smaller than block size (4096) 20:00:58 executing program 2: r0 = syz_open_dev$swradio(&(0x7f0000000140)='/dev/swradio#\x00', 0x0, 0x2) ioctl$VIDIOC_ENUM_FMT(r0, 0xc0405602, &(0x7f00000001c0)={0x2, 0xb, 0x0, "e18a1b5fca33b162bc5aa13f018f1a2ec31016706e3322af70cac955195aac31"}) 20:00:58 executing program 2: r0 = syz_open_dev$swradio(&(0x7f0000000140)='/dev/swradio#\x00', 0x0, 0x2) ioctl$VIDIOC_ENUM_FMT(r0, 0xc0405602, &(0x7f00000001c0)={0x2, 0xb, 0x0, "e18a1b5fca33b162bc5aa13f018f1a2ec31016706e3322af70cac955195aac31"}) 20:00:58 executing program 3: r0 = syz_open_dev$ndb(&(0x7f0000001000)='/dev/nbd#\x00', 0x0, 0x0) ioctl$BLKTRACESETUP(r0, 0x1263, &(0x7f0000001040)) 20:00:58 executing program 1: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000240)={0x0, 0x38, &(0x7f0000000180)=[@in6={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x1}, @in6={0xa, 0x0, 0x0, @dev}]}, &(0x7f0000000280)=0x10) 20:00:58 executing program 2: r0 = syz_open_dev$swradio(&(0x7f0000000140)='/dev/swradio#\x00', 0x0, 0x2) ioctl$VIDIOC_ENUM_FMT(r0, 0xc0405602, &(0x7f00000001c0)={0x2, 0xb, 0x0, "e18a1b5fca33b162bc5aa13f018f1a2ec31016706e3322af70cac955195aac31"}) [ 225.322717][T15439] input: syz1 as /devices/virtual/input/input22 [ 225.335294][T15445] input: syz1 as /devices/virtual/input/input23 [ 225.345327][T15444] loop5: detected capacity change from 16 to 0 20:00:58 executing program 0: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) 20:00:58 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000001000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f00000000fcfdffff01000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {0x0, 0x0, 0x1000}], 0x0, &(0x7f0000014a00)=ANY=[]) [ 225.373510][T15444] EXT4-fs (loop5): cluster size (2048) smaller than block size (4096) 20:00:58 executing program 1: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000240)={0x0, 0x38, &(0x7f0000000180)=[@in6={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x1}, @in6={0xa, 0x0, 0x0, @dev}]}, &(0x7f0000000280)=0x10) 20:00:58 executing program 3: r0 = syz_open_dev$ndb(&(0x7f0000001000)='/dev/nbd#\x00', 0x0, 0x0) ioctl$BLKTRACESETUP(r0, 0x1263, &(0x7f0000001040)) 20:00:58 executing program 2: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) [ 225.525600][T15477] loop5: detected capacity change from 16 to 0 [ 225.539498][T15477] EXT4-fs (loop5): cluster size (2048) smaller than block size (4096) 20:01:01 executing program 4: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:01:01 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000001000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f00000000fcfdffff01000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {0x0, 0x0, 0x1000}], 0x0, &(0x7f0000014a00)=ANY=[]) 20:01:01 executing program 0: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) 20:01:01 executing program 3: r0 = syz_open_dev$ndb(&(0x7f0000001000)='/dev/nbd#\x00', 0x0, 0x0) ioctl$BLKTRACESETUP(r0, 0x1263, &(0x7f0000001040)) 20:01:01 executing program 1: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000240)={0x0, 0x38, &(0x7f0000000180)=[@in6={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x1}, @in6={0xa, 0x0, 0x0, @dev}]}, &(0x7f0000000280)=0x10) 20:01:01 executing program 2: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) 20:01:01 executing program 3: r0 = syz_open_dev$ndb(&(0x7f0000001000)='/dev/nbd#\x00', 0x0, 0x0) ioctl$BLKTRACESETUP(r0, 0x1263, &(0x7f0000001040)) 20:01:01 executing program 1: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000240)={0x0, 0x38, &(0x7f0000000180)=[@in6={0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x1}, @in6={0xa, 0x0, 0x0, @dev}]}, &(0x7f0000000280)=0x10) 20:01:01 executing program 1: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:01:01 executing program 4: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) [ 228.372561][T15529] loop5: detected capacity change from 16 to 0 20:01:01 executing program 3: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:01:01 executing program 5: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) 20:01:01 executing program 0: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) 20:01:01 executing program 2: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) [ 228.441061][T15529] EXT4-fs (loop5): cluster size (2048) smaller than block size (4096) 20:01:01 executing program 4: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:01:01 executing program 3: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:01:01 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000002c0)={0x9, 0x2, &(0x7f00000000c0)=@raw=[@exit, @exit], &(0x7f0000000100)='syzkaller\x00', 0x1, 0xc8, &(0x7f0000000140)=""/200, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:01:02 executing program 2: r0 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000000c0)=@newqdisc={0x3c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_taprio={{0xb, 0x1, 'taprio\x00'}, {0xc, 0x2, [@TCA_TAPRIO_ATTR_FLAGS={0x8}]}}]}, 0x3c}}, 0x0) 20:01:02 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='net/dev_mcast\x00') lseek(r0, 0x106, 0x0) 20:01:02 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000002c0)={0x9, 0x2, &(0x7f00000000c0)=@raw=[@exit, @exit], &(0x7f0000000100)='syzkaller\x00', 0x1, 0xc8, &(0x7f0000000140)=""/200, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:01:04 executing program 1: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:01:04 executing program 5: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) 20:01:04 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000002c0)={0x9, 0x2, &(0x7f00000000c0)=@raw=[@exit, @exit], &(0x7f0000000100)='syzkaller\x00', 0x1, 0xc8, &(0x7f0000000140)=""/200, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:01:04 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='net/dev_mcast\x00') lseek(r0, 0x106, 0x0) 20:01:04 executing program 2: r0 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000000c0)=@newqdisc={0x3c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_taprio={{0xb, 0x1, 'taprio\x00'}, {0xc, 0x2, [@TCA_TAPRIO_ATTR_FLAGS={0x8}]}}]}, 0x3c}}, 0x0) 20:01:04 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='net/dev_mcast\x00') lseek(r0, 0x106, 0x0) 20:01:04 executing program 2: r0 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000000c0)=@newqdisc={0x3c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_taprio={{0xb, 0x1, 'taprio\x00'}, {0xc, 0x2, [@TCA_TAPRIO_ATTR_FLAGS={0x8}]}}]}, 0x3c}}, 0x0) 20:01:04 executing program 3: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:01:04 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000002c0)={0x9, 0x2, &(0x7f00000000c0)=@raw=[@exit, @exit], &(0x7f0000000100)='syzkaller\x00', 0x1, 0xc8, &(0x7f0000000140)=""/200, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:01:04 executing program 2: r0 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000000c0)=@newqdisc={0x3c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_taprio={{0xb, 0x1, 'taprio\x00'}, {0xc, 0x2, [@TCA_TAPRIO_ATTR_FLAGS={0x8}]}}]}, 0x3c}}, 0x0) 20:01:04 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='net/dev_mcast\x00') lseek(r0, 0x106, 0x0) 20:01:04 executing program 5: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x50, 0x0) r0 = creat(&(0x7f0000000040)='./file0/bus\x00', 0x6857b21ff1155d90) fcntl$lock(r0, 0x7, &(0x7f0000027000)={0x1}) r1 = open(&(0x7f0000021000)='./file0\x00', 0x0, 0x0) fchdir(r1) 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) r2 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000600)=ANY=[], 0x7b) sendfile(r2, r2, &(0x7f0000000240), 0x7ffd) fallocate(0xffffffffffffffff, 0x61, 0x0, 0x7) pipe(&(0x7f0000000040)={0xffffffffffffffff}) close(0xffffffffffffffff) splice(r3, 0x0, 0xffffffffffffffff, 0x0, 0xd3, 0x0) 20:01:07 executing program 1: r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', 0x0, 0x0, 0x0, 0xfffffffffffffffd) r1 = gettid() r2 = creat(&(0x7f0000000280)='./file0\x00', 0x3) prctl$PR_SET_PTRACER(0x59616d61, r1) write$binfmt_script(r2, &(0x7f00000004c0)=ANY=[@ANYBLOB="2321202e2f66696c6530205b931dd094c1aa5443d95d1312f014d336b04b030400000000000092290a7e4555a763c1bfe2a085e276ed3ae7a2885e36b884bbcb3f50490f83c36515f936e1318eed5a4211763c064750c928f9e04681cfdd5a9b8b775bdbd501133566300f11b45b594a3ccce73bfa1b8b859ff73ac845e77253df938615bcbdeeef274aa294b9999e95c8c8ec26b78932d57aae34f30d6ab83ccccc98c7f4be21faeb127faaa99017e73e198aabfcdf08c7cb96e8c156416cfc1b23c88af0e34496a0ca4d71227b362a942c59f08cd8e4ba8a46a6f6340a85d96c168e5f1201fe3f97c1bd3b8f845813c55433ae2bd2fd65a6e3f887799616c30488dec48b12453b96d3e87df34bef802786e2db1e09cd961e7a72e2a26f957c295941f6f2b8fe5263c781c2329a9a7f1ac5619654d75eb384851297576e3d3929bd956d0058dd4a30d3e84507aa8569b26e70a5aa1c3a1d964fcfca7dff11fe366539f8d9af2c9f4e9bb46dc9d613c5f0efd84056f756cd71040000003858070c3ccebbb1ccf42310c2415cd2ae04f95383a63b1b0fb78afed7daaf96d4ebb949ebabbea0aaec2e0b94197b92781bce34cddf97cc95ad9754922a63d28f92dc4b820f5a6128e2ebd64c3d0db09149c46c043cf612fad46e1dbcabc312426e37c63f14bcc08b058513f8d838304af403c8d25b5c9cf4dcc751881cb6f6b5e07fa6789af1020a01314377ac28cb45bb02210123043c5cfb01af5838292006e9005157abf087773e45836b25a371b08d077be13e095de8fdc0212e3e7408f3e0ff6db9726ff36a92a3496e0376631202ee1bfac51a9a8c610c30ab99b1dc53d3363079bd21382fabd29912045920c215760adf1d4afe462d1ffee6ccde52a170d2793bfb7cc1480016e73e09d5c97742955523e66fa1a6aefeda244bd3b6c82e71bc35ae201560529a460f438b8d5098fa11e5868012dcefc1dd50388452f5bd1047c68e5b7cc7ee054ba61cf0fc6118e7e05afbc285c9b827abf2a2ae659bcb1e03a14ca1f6177289cf1f29924bce960d1d6049eb106045c1b5742517a5528931ddf474f2f6bf5b4cdeef97765f258844023eb181a127d2157c4ea723e4a9d79d14fc7ace6199c2667b799edf4428c0602b136f75d95c7dcac4b77f6263a6673f4c44e1d80988290677141e1295460ffe8e3c61a71545f6eb6d91c122fd07161015bad2814715f4038fb35ff022e1c2b062ca498eeb131ad63592da17df4a69be382a0cd805d5158545902a86d41f198a827e7fc1662bf8861902ac7e7d886e4659a545f7f9ac6ed950f28622697e50c270778fb97cf6663350b2"], 0x191) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lsetxattr$trusted_overlay_nlink(&(0x7f0000000100)='./file0\x00', &(0x7f0000000000)='trusted.overlay.nlink\x00', &(0x7f00000000c0)={'L+'}, 0x16, 0x0) add_key$keyring(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000240)={'syz', 0x2}, 0x0, 0x0, r0) close(r2) setxattr$security_capability(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0)='security.capability\x00', &(0x7f0000000340)=@v2, 0x14, 0x0) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) execve(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) msgget(0x2, 0x0) socket$nl_route(0x10, 0x3, 0x0) openat$dir(0xffffffffffffff9c, 0x0, 0x4200, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000200)) keyctl$KEYCTL_RESTRICT_KEYRING(0x4, r0, &(0x7f0000000480)='asymmetric\x00', &(0x7f0000000380)=@keyring={'key_or_keyring:'}) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) 20:01:07 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:07 executing program 4: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) 20:01:07 executing program 0: sendmsg$NFQNL_MSG_CONFIG(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)={0x28, 0x2, 0x3, 0xa03, 0x0, 0x0, {}, [@NFQA_CFG_PARAMS={0x9, 0x2, {0x6, 0x2}}, @NFQA_CFG_CMD={0x8, 0x1, {0x1}}]}, 0x28}}, 0x0) r0 = socket(0x10, 0x80002, 0xc) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmmsg$alg(r0, &(0x7f0000000140), 0xffffffffffffff68, 0x0) 20:01:07 executing program 5: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) 20:01:07 executing program 2: clone(0x8100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000000)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@volatile={0x0, 0x0, 0x0, 0x3}]}}, &(0x7f0000000040)=""/211, 0x26, 0xd3, 0x8}, 0x20) 20:01:07 executing program 2: clone(0x8100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000000)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@volatile={0x0, 0x0, 0x0, 0x3}]}}, &(0x7f0000000040)=""/211, 0x26, 0xd3, 0x8}, 0x20) 20:01:07 executing program 1: bpf$MAP_CREATE(0x15, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x40) 20:01:07 executing program 0: sendmsg$NFQNL_MSG_CONFIG(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)={0x28, 0x2, 0x3, 0xa03, 0x0, 0x0, {}, [@NFQA_CFG_PARAMS={0x9, 0x2, {0x6, 0x2}}, @NFQA_CFG_CMD={0x8, 0x1, {0x1}}]}, 0x28}}, 0x0) r0 = socket(0x10, 0x80002, 0xc) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmmsg$alg(r0, &(0x7f0000000140), 0xffffffffffffff68, 0x0) 20:01:07 executing program 5: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) [ 234.614478][T15634] BPF:[1] ARRAY (anon) [ 234.625360][T15634] BPF: [ 234.631582][T15634] BPF:meta_left:0 meta_needed:12 [ 234.647150][T15633] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop4. [ 234.650287][T15634] BPF: [ 234.650287][T15634] 20:01:08 executing program 2: clone(0x8100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000000)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@volatile={0x0, 0x0, 0x0, 0x3}]}}, &(0x7f0000000040)=""/211, 0x26, 0xd3, 0x8}, 0x20) 20:01:08 executing program 5: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) [ 234.700002][T15645] BPF:[1] ARRAY (anon) [ 234.704135][T15645] BPF: [ 234.717061][T15633] IPVS: ftp: loaded support on port[0] = 21 [ 234.733677][T15645] BPF:meta_left:0 meta_needed:12 [ 234.759571][T15645] BPF: [ 234.759571][T15645] [ 234.873860][T15682] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop4. [ 234.908399][T15687] BPF:[1] ARRAY (anon) [ 234.912612][T15687] BPF: 20:01:08 executing program 1: bpf$MAP_CREATE(0x15, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x40) 20:01:08 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:08 executing program 5: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) 20:01:08 executing program 2: clone(0x8100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000000)={&(0x7f0000000180)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@volatile={0x0, 0x0, 0x0, 0x3}]}}, &(0x7f0000000040)=""/211, 0x26, 0xd3, 0x8}, 0x20) 20:01:08 executing program 0: sendmsg$NFQNL_MSG_CONFIG(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)={0x28, 0x2, 0x3, 0xa03, 0x0, 0x0, {}, [@NFQA_CFG_PARAMS={0x9, 0x2, {0x6, 0x2}}, @NFQA_CFG_CMD={0x8, 0x1, {0x1}}]}, 0x28}}, 0x0) r0 = socket(0x10, 0x80002, 0xc) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmmsg$alg(r0, &(0x7f0000000140), 0xffffffffffffff68, 0x0) 20:01:08 executing program 4: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) 20:01:08 executing program 1: bpf$MAP_CREATE(0x15, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x40) [ 234.920332][T15687] BPF:meta_left:0 meta_needed:12 [ 234.925586][T15687] BPF: [ 234.925586][T15687] [ 234.959206][T15633] IPVS: ftp: loaded support on port[0] = 21 20:01:08 executing program 2: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) 20:01:08 executing program 5: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) 20:01:08 executing program 1: bpf$MAP_CREATE(0x15, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x40) 20:01:08 executing program 0: sendmsg$NFQNL_MSG_CONFIG(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)={0x28, 0x2, 0x3, 0xa03, 0x0, 0x0, {}, [@NFQA_CFG_PARAMS={0x9, 0x2, {0x6, 0x2}}, @NFQA_CFG_CMD={0x8, 0x1, {0x1}}]}, 0x28}}, 0x0) r0 = socket(0x10, 0x80002, 0xc) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmmsg$alg(r0, &(0x7f0000000140), 0xffffffffffffff68, 0x0) 20:01:08 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.067975][T15722] BPF:[1] ARRAY (anon) [ 235.084249][T15722] BPF: [ 235.096273][T15722] BPF:meta_left:0 meta_needed:12 [ 235.113367][T15722] BPF: [ 235.113367][T15722] [ 235.118589][T15728] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop4. 20:01:08 executing program 4: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) 20:01:08 executing program 1: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:08 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.216209][T15728] IPVS: ftp: loaded support on port[0] = 21 20:01:08 executing program 0: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.291329][T15746] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop2. [ 235.311641][T15748] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop5. 20:01:08 executing program 1: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.389515][T15773] IPVS: ftp: loaded support on port[0] = 21 [ 235.393281][T15774] IPVS: ftp: loaded support on port[0] = 21 20:01:08 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:08 executing program 0: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.473342][T15799] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop4. 20:01:08 executing program 2: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) 20:01:08 executing program 5: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) 20:01:08 executing program 1: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.525573][T15799] IPVS: ftp: loaded support on port[0] = 21 20:01:08 executing program 0: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:08 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:08 executing program 4: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) 20:01:09 executing program 1: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.751861][T15859] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop2. 20:01:09 executing program 2: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) [ 235.816611][T15859] IPVS: ftp: loaded support on port[0] = 21 [ 235.837669][T15862] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop5. 20:01:09 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.906424][T15889] IPVS: ftp: loaded support on port[0] = 21 20:01:09 executing program 1: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:09 executing program 0: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 235.962255][T15895] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop4. 20:01:09 executing program 5: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000740)='/dev/nvram\x00', 0x0, 0x0) r4 = syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f00000000c0)='./file0\x00', 0x9, 0x1, &(0x7f0000000180)=[{&(0x7f0000000100)="d14601dab40b021225da8ba37deba96f815d9c60ff1c9af1bf73e57e689e10cf128fbd71ae5646f0d0b899d0883141a9be42cd3a71d22108c5154197badf11c34378eb9c", 0x44, 0x6}], 0x8, &(0x7f00000001c0)=ANY=[@ANYBLOB="5d2c7d6d656d6f72592e737761702e637572dbf33edb002c61707072616973652c6d6561737572652c6f626a5f757345723d2f6465762f6e7672616d002c00bacb3f71d554fe3830b0286a1aedda7c10527f8ac6d5eb1806f8d263efac334140e059f6f03aef66276bb59030005f9c97fddb76d29eac6f36b356d90d225162e1e79590c398918c103556d6283bbe7cb08eb6e4f97e"]) r5 = openat$cgroup_ro(r3, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000077a80)={0x0, 0x0, "19e8c714f1c5db235f41e5b7f94e946fe67dc3844c5c1bc1f4360d29cb955bb5783b82537f723bc08ed6b97e074589eae7a1d9479fed1abbf1183969fcb38a0e5e6bb0d99c5410439b8b0e1e9e71cd12733ba54a627f37a8fa4a75376737776554f82e1eb9b99341a387dcdd6166fc4c6b37d79ddbdef24292eeb45de004694ef658c3445fba4cc9d539e4c5b72095df82ee81493f18cd371b08722321baaa9ed684d7d0cfb917461ff7d1b5b951fc51622e3daa8131626f4c0d7a89a8ef5837bc43f2b447411c77c98bd2722c0f262ffd8a4eb1ce9c2621739d8ece0148cb8d74a5e630cdf8fb180c6f90f1b89f3714a5dde84b6f3ae9aba213e62018ba073b", "833f54d23af294b34b942df6ef8628d3be3087e6734a35bdec26325f77d36f336768e1aca1a11f098eddef4b6469fb569725558888084f6df270ef8c86cae996a38718fcbcfe9fec3c03d1a9e0429cd133f9a5bb24b2d05414438a4259824e54d0a4a636717aad49a5bf9eba14cdce466d2cd45c9f7423c63fa142059375ac2bd4fc345b99d79fcf27727778682beac20fa0333d291bb807f683971b83d0d98bc211e5cfab57a3811fbb4487362d95b16054d5aca81de5946f017b8cd3640187b32b665475e73a0e3d25569d3400c18ac7bdbd7dce8e5ca1442ab82b6f5753b63094247e1730d4717c09f286efe724992cf0133eb92f9d442bbd5cebbe98b25ca9dfcac05c8e628ae9db41f09db0d35704a1d2b5311fc42c74f6ad7766dd7f4c96e19ed26b8c2e8ba83424d18b41101713f9434ebfaad8dfa73fbf87500b912b0570a4c25e960f2feea9eb6702a3963b0e3c8be93bdc181efc718eb6c2c809b0c3f9d5c81b6698874d63d8fa29d746d3a02cbf682aa787d6143a1a54324f4f21c5e06894eb752da1cd842a2cec354ef3cac117f04cb11009ccdbfd85d7d3dbc45e63b076d9b429d7a56851aa8fbe7623ed41488dc9f5ccdbe85732aadc2f5bb46a19e8175030f9c3f5d5fec8f80b3b9f62911ea8e7649b98ee428ea4948cc306e9810a87530772225965c098ae5dd89cf548615b991fa3f79237b4905c74bef568e507595eb00052fe7db9ad4dedd55ddeda413a0d6909ec33d93378ade1a2889f46be4a7fbdf23759831ddc75f12c311b3207c046081afd8cf0ffb246302840e50bf55c5a2e3ac9984776d42c2df4dc9b405a4f65727d3048a9b126ea1a381a7b620ec5dcd09063b229677e3deb9cc8e04be04813502385ae80c24fcd980bad3b81d8610a4ab116b303867fbe2da5e6471b68f09c3ae32012bd10b1f6d6cbf27be3bed3efeb9e4d0d9d84dec773a50fbe031fd529a9083d1b30abaa2ddd1246c89478b907773e719b87124677aa75c9e13f76878c73f6396437db913da436109c97ecb77f8733c30b66bbf6cf7e4ed3a61cbf33a20c0f68a6f180436987e89baeda180cb23da1c3b3d6bfeabdf2251f4a3e92b076434470547a0a8d124f748889442fb72148774711897768786e6b6a465cc48cd8dc5f376211af8c33c8a75cc53fb01ef01a7997067f77ef996bc95431f84aae8bf8736687f432346cdf899ebc6501b6dec8fc670b899a4fd7be713cbc4d1840e5a1fc045a5fa1ce5bbc3832aa7e1d4bd442dbcbb9d3524e91deb01ea77fd0980ce2295955738ad68a4f59ab56ebdec787ac6ad2cafd2412558d11d92e06ccf9af070a9abe9b5347a6d124690993cc3a3bc13156a0f32bd48273b0b37288fca3618f4e53acb5dc4496c6cc3ba949d461fdba14c3bd8f63c8c68c9800d1b38839698f90ff9e08ec92caab42ad36579398e8cbe3b4d0f89c0f01dfabd6dcf667e2017e198a1ae5809b1919a690393255e2e070073a45524202984defd71aa7ec161bbde06689a02d0bf53c7555eb50e417944affb99c22aa5eea0c659da5269a4a3e93120ccfba0fd4645860323a3852a85e8c4a72e340a28021413c6778fd9f0e1fe8b430403f0247307a4610837a9797fdd7d95587783c17bf87ee5365b13e6454ef3f68bcb985987fba1f962a9cdb2ac747acc2a0cc47b7037f2cf4ebb13b433a04ddb27b7b240f2d8da78c3c3ccca9c93f6bbcc4261a9032439a05b4e9dbe08b5f46dfd66343f96c8d21eb344ae907ed12a5015732349a723cad13561239719be0da2680cd415a9e927e13e39086772407dc9d9d22e6b30670bb01b1562dbc42f109fee57ba3c9ec1425736a54b06f5940f0b4122c2cf7468fe288cfafb9e155d6a96c7121e480a7ce5e8b6e065f6c9d4f80ebcc4497fd89440f1c71ab848723a3b2a5ab1c6513e5d2a71377be334c87e056c6e28ea5cdc68a77ab70cce8c9eca3fc9fecedcdb4cf96cac6aba7b5c056972fc5b9b8a77ab69ce48c6d47076f745d0e3b67370570df67e4b39216d02f7fce8645e734a91f03480e508f744a67223bad33b6d200b4978d1de859ec67190b376be93c15cbfccd9fca64da547db14ac644c61c66f4754d6b754484d235b022662b00b229b1d5d71dabc86b04e3f5e9176bfb75e208bfe9cce704ff34dac11d06b2a424a5e096e7af6cad1ab089367f2ea29b39f16a8d852ad9c4947e90687e7447aaf11050253d9dc797fc67f711fea7939c69ee71c2be12ca8cd1a310b69c6a9966fcd5e9ab0c3fcf303ef73fc8fb2d4f1ef4b8d761a9ccf1467305446c530658839e472c67f391a88409dfa035cba06b71ab632abfe76d1ab0ddc6aec939f3de42f22ff06502be6de46d98bed17d37fdb966e7c39db72bf1d0dc525e9cb97316ab5e1295ef7c44058ada2d600fc392da5600f7080d77647a4989e11da9f36dae9174595322f6d3f596e6f8fa8701c067ac283e5dfb7613b04dde71ec7a89231bcb3f597db4fd3bbfdbf6c336899f61cfe8ba38c2318ff7b3d664462fab3d96d90cc7bd990c3f15c0d2b53a7814c5fbb82e2048b40e248f3ca8eae75a5376ebeb66c153819dd01f2f8ead705e1bc8c5531e0e3509bdb25e88fce2e56ee424a3a9eace9e88e4fe6b26209e0b14ac9776901a343d30873e8b53b3c0c56e64d0d8cbec41da6cddd264cda29da0c2865d5c053eff4111197c180513d8ba4ef975bc547d9ed75b714ecaf5e95f97a8049fe2604f63d6af9734604adbebcc045c20fd22cafefde54de1c747637b61d9823f6c19c2c7c3267bc224587c480e7ae8f01958bde5a5c5cf97ef0feb1572aa0a4df00c9b7f410d22b8c09aa03e9bb9511e31862164d0b914985aa01e94e6e160d8985f830344c95c1ce2ef51f1c6f2b65826a7b61c6357c5799e47424bafad52e7eac98fdfc87130995dfe1abf1d54844b31e4f544eb4482aeeff316fd6798a419bab108ccb6c9cf084664b460e2208182f4c50647c00ae1da5e26f400c5db58fb909e1eccd75e72b0e570265578cc32b24a1bb5bf15d41737aa396d634afcee92727405deab68f208ac2862212d0940faa507f64f4f674eb643af017ad0cb4ca10959be6b109919831956c78c704d446e39495c254c82bcd7049088d22a950089701c1682d65f8e1ad20ebb68bfce2c8998f0b70af42b190c6aa9625ce94345885b8b03211064ac3cb19fedb2c43be4fe2b32feca6fa710e126a40739fc6d36881bebec08276d703f892a7d70f3829bd3ef43bd95983446a1216dca7f51d6b548337da7ae2570cf2af4e7d1246859a1bf957b3de932ea68048ef3e413baa45644b3dd0c33a1e7bb955e3dd288e9e222c83586f1614a6ac70bc7215a77966cc0e351dc7f3e09f199d88e348b3a307118eed49c66db66e39d8871b82560ce8d922d6b783cfe7424f9a773532354bd9d73d97dd9355860493811383ad6d27f49d1054ec3152b580c19ac3f3f91e6e9b5eff04af4275df4f59885aa3af5d2a01ce4bbff537e9955d4c0482bb7514e418f65d9555d5ef1efb331f2e875ab5b2a462c898ed6f0f81b0da731117e811caae3b802ddd829db7c81b377329aff845ac8dac65e7b96d57a07dc712b0190d43d588d34abe5eae9ed754e3887eda6de4a76c208ecb10b81bb14f66afa9db6d9f939c6cfa0f1624d73f407be3ae0fc43cf73a691cc30fa7ff655a3299e2f3180cc0bc287cbd441ddecb58015357dd1b86949baba28b989352aa686aafb191220694cc5e68a08f9e296cf6a3720d17f3be8825803b8647b2e4d977dfa878b7842b552d9c31160bd2843f6d2e89a89508aed62b72d8b85a6ec222f517e76ec9ab9f301ccc6ca550bd5363ae777d3334057c242b0808f69c0febb67a57ef5d08f6e9fd2ce2fd6b413936d6d0b6a81981a9b4b2f21d74d5a3b0a5ae1bbdd1b4a96d9656b41d1918525405f69c3ebe112f952e7f784c25b9c443a759505cccdf9266fd19f371310baa1e35737dfe001b4d4bb693de2fe51c268c0487c8f2146435565ac77ff5af8a3bbffacd42061145cfa9f1c3fc2225ba41272b22031b95d2792c07fb371d2c4cbfb6a270736c9cea6682eee0394de73b7dd694b5df50940b2edc53b041da9fee54e22697048a717c69864f71f95f86332b71e5365fa5f1ef1f5e8948941ed7ff64dae19b69c0cee6b9f32e70b978ca01e935e0ffe8c30256c11396c102bedb47ce7f056e93b199fd0633125b4e41ea24a9415c6cf1376ab5e6e70c8db31851cf54527e258ef17371b315dfb310039a713b287b767147ebea4edd839be099fb083b39b5392f3f417f11d162237709095a6b17e4c7915032a72f9e307d7e7cfb682f9392f0d1baf06c3ccc78bb65a36678e54f6b717800a975203164ace16385bafb45773796e7797f19f80acd8018d30e89cd60d540632df9578a482d541a0fb857f8ef3659763535dabed895a7acf4d5aa07571037862cb5e7aa6877c383fc35da0cade9a957df6e691383bfd0c095a09660a365fdb4245cd9f929dbeef35e9c6802a135b2334401b35c45b3b1b0e1d7a764403bcdf3a3b20ec6b3da9936261e2fb7f148f14c1adf7257b8326ca53a63eb11196dd933633b1f1cd7eeb9a6f269b2d2ae5310733472b9956f320dfe9ea982393be5f5377a3af5ee6b0d5f4119a643bf57d894fae080e2fdb3bf0ec9425566fd6cba51069e0b2ab1117eefd3be6a07ce7b834f0e8366bcabc25b85777397781b4a0d58c118096316b9a5ae531eb7a22c264c38201a3b2ee4e456ba6649396ba0e382f578ac12dcb04ebeeaa92135528fc3fd13fe745d9e8609b07979c3d40bff524f932655c7acc7d8cc06e8a8aee3ef8ad50e37a16a019e4e36a7a89012c1de8466ebbdbc04c4c3daf3a5705ad160913df57c0ef9e406cbcd160e04ad9fb38324a4414815bd2dcb477cc0ddfd918e49d4c3a86ade1a44eda6fd28706193e4c46dc0a9954749bbc607fa0cfc939f5601b82df85abfdcc15e8ed13e3fea2deba8190df9125243c132ee0340e5ee038463c495b6b41e342e145f24862952f2dc34bf409ba741b1a489ceb67dea0100c46c6bf06bfb03944e3d1c5fb0da0857ab642b6cbaa9c47a4db9298563e746c7e9e640d90ecc32cb1f42d9d9a948d449d02da29784240a6908b270c4e0b56e746310da02b246f7bdf44ed3b5c7e3f39c4d3757555d46a5a3fbcef3883d64e1f3679ee023fa8392829425834e7f7d519dfe5f50f2d5b7acd19b763b3faa3d539b6839162b5e552cd5fcdf916b1c887ee4aec1668e589a08517e4ef911201dbcf598a2c98e2a767de07c0650ef19c5b3a7a8e56a0c59c520b5c4ad657a7114b64ba092be07288903b05d4f85d8caa2ad2a0ff977a5d22cb789d5eb3a6dc48cdc52208cddcb314d1415a01"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000078a80)={0x0}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r3, 0xd000943e, &(0x7f0000078c80)={0x0, 0x0, "8f115dc361078f728a97a40292ac2ef27f937f6379274a4ed66bc618f9e331ad561cfcb3b194042126f05bdc399764e0b5ab8caa663e0ad524fbe1a890fa0fc5a1eb1ac48f5028cf5a94dcb21918e2503ba249b8922ffe2dbb68fdcf595e366cf3c4bcc1ba3fa7809863b9e7c043dbdc16462ce7a8ccce796d7880f629af3e1b8f4eae25cb4703e2aa844c267c7c274a78723ca7833fb3f324402e41d130137781a350999c4d48dd88438433b4915840dbb4dfee3b4dc10be5592f14862722c8fd555311f0356fa41d0e793b76db1c44bdf3c98480d5774bb0aa1df1768cc402c4718ae3745c400429a1156d927ff47a3fdda0bd28ff3abf7813fe759f5f0d12", "7a05e3242edb0fdb03c1d5206153cc5ab82fa2ead154cf8aed6527db5cb5ca87891eed42659772562df699f33df41cdc037262ce4805f7b557ead91ddf96f86158540386afb1b79338e604678e6305f9abb0527ddac387327747a75d805215cbc2fad2d68eb8e3744cdbb0467d9e0165e8e529bb86c5869f1665007ca0b08cbc82bb12260d355db004cd77ce75957e51eece04702d2403b8341e5295062f6d826902fe0dccaa88f329e4a66ac9fb1306067eef1aa8ab815a35fc3b7fa22df21cc477dcd2d8efd4eb421662f77b532aed35b858137764831d6bd7d21596d213938e20d3e1d3968701c403c1f07f0cef52fc6b059846d821fea118bd52947ad658fedff377d71d2cb9dbbe6c242f1bc411e98ed6247e304a78d747edae76de9dc5834ed604ba7f73be1098289f06098ea58f55875a83fb63350de87b78b55cd2c0304065c4f95a67b315c31e15d184316c1f5746cb67aa806a0a780f11f6a0c1c95ab340c50872688ac4237599dc14d27944e94521adfa7ffb6d2f0c5d9c999bb5167dea4be2762063d8adcae0324b3c3623c1c6e84b09170641ffdd3c7060b042e03ff7d3cac101b6d24c00a2d0a979261499002bc835a7574d871a135e8eb7d5c046256fb30c65681b79d81896e959d9c5914655405170cb14f1557e86c90150b87dbc3bbefcb1a99ae7fe1c8d090fbb17ced3c60514c5c8d3f5173972225c89ee4ab4e3208a5c54b33370fd2d4859c4944ba0ff5d314d414002e03522846ed5021ffe7b428da985efb263316b6aa8214658c522b5659d65359c5c2b647794721aec968b832511d1c88cddf6b892fc90e82f7b243c0c59dd5374d0300b05baac71037c75a77785842ce0997065c3fb79f9fd9e1219d7fc55efecfed14fa79b5c98322cabb91f51adf107224952b9769e27784b3250da2c784db1cba9762aad948b27477599029c4fec46666ba076595bf333bcd19752f478fd7aa981f5e6753b21e7708fe4aba9f332fdcd97b15ff39fbae901ac3439ac7bce1bf678c822a6dc95d7b8548b9e0175988cc0ca14051bef1ebdede95fc1b5e5c7ec7d054cfb8b79bd15dba0718d08eeac7960e13486286307dd645d8ea1e49150efb2132b20651e3c701d79ef311c9057a3fa5c884c72a48e5a3275dfc5aa145cc1c7fa047ffd3741193999b93c676168f68ddc3753c990dd2084dc63a423b3e986de72708febfa6fdca7534269c5359bc099004bcf17a43a4828faa5f1ef5dcb198e104f03897ec8cf0158928d960ced188b05dbde4d2bb11f8db0a71c555e966d80d8a5257aa7df8c3d448db88e423b6bc79c2ea796ccecd2f3af20196ca7c8fb575d0c613fb40f33f8c443ffddb89b73138695c760ba2567081d8963a617223e5b6a314c140a1da434e322559c852898fb28c30559ca9d5cbf035da2a4427475c9302bc447fb2f1690b8ab60788732c88f4eafc5229f12bd41a4d518e55576c68dbe6fec5be8a92d4d1869f30aff0a280748fd84fa2aaf82c55eca5ffd3182ac2280268a9d2b224b95f072916f45fb5bdd5503133a140515df3fae7e043a577f30ffff94dcb8da9203a566c0f9d6e659840cbbca537f4510dc048490aa06387cf6bb84baa519c339c46a874e76df0f2e4bfa7af724cfd68ef2b7be2ff2cba94a44ef7c6f50681847aa10d5b8ed1eea7363396ba2b562d65bb17a50e695e1b70c9bd2a2e95308d068479a26a69e9987616cbd2007db38b1ad45129c3f54cda49a45632e3123f8ec5112c13cda11981f4588ad24a8eb3c8368d785bd4fceea37f3427152709ae5f2e5d15905faf29088dae169a685203a2eebe7280aa0d97501db4a843424014387824d26507f0c1752445e3e1e638c15d2abd98252166fd91a00a0d06ba4618f0267d751fcccd495bd42763686417abce80f35f5b22777373279612a508e8cf82ae0b550cdb66cb1b4b761648527f8e4953fef91474a5149c5986daf2c20e890ef638acb36a12001a932d87f08f75e3373f6afa3303263d3a0d7294f79782e66e81028abf325915ac236267b4346002e889d240db4f86bd7a4c9e5d4c8569c253f7daef4e3161b31a2500ce6a2b98e8e51f863ed8c160369b21671bbc0a985a408b306d79f334b42e5309f20417b5dd5177a01b9de9239a706a01d2ed29e4fcac9c0ad653d4c910a55fe8f7018e93d86b7e594f17272a2ba8ce037edcbe6392f6e27b02a27e75874e91562df4c94de26ab8f9fd68af7962f56adaf8f8a336da9ba078efcd8ee9b9772152964d5c46efeebc26b34f3a10f490b8673a1facd3ca9d279c7e1562bafa900c1c710ef732e9fb56c858b69b20ce3774176d051e010a111e3585985524a5c72cde06a34264b9813b5c1552b33d2a3adcbb3fe09a522807f09e721359f785f2e7e2c2c63b48d337bc84fd62af85fe8daf236251020fedbc08b428acdadcf523028d5a09e1bd5e2361b8233848d1d54ad980b90a047d251c71562eb3c02f51298fd10ecb2e5785c32fb6ac40691fff58c29201c9091e3751dc18ad772ccb1241a69d988d0880126257b3bfe4bd32d4916f1d1325a6cf20defff80bb97100b2a1cf89e58f4a71feadcb3394d6a7cb4fd0f2e789010708ccb77bd51dcb19b8fb674de5bd337756ff012928c4c4ba7d9d28bb4877cd570aa61e4bd1b702fe6329823edf01a271b086b95b9a1d2812fa0b0844a46fb34f0b7b5210392d50a76c95e27d67f9434ddf6e34ceb66aa6ff42b655d139d4b0f95b64d00ea07be22ffc88fe52402393f83610b90b4ff9a48acd6aad890a87dbaf0acb71431191c8d97a914a03b57bb4d0804941bb01d8ad51ff795ea9ed702c186acc545c1e7b8d4a58fc78685171388ff7b464876b9921e9fd595e9c14d8a64e04b616c5aa65ee997ecc12bb3a5636290bf6c1342cf3fcfdea355ed003da1df6dad41a4d46f1e156704d09922d873ebe8fa430552ed0cd19b7abe408eb45e017a4b279ee28bd980b6be9a2daf4eba0c6e45a4457977306feb429556920d2e72864039b1c0f7ca98ddb12ed01b25a06512f7614779af8de3d1a0be795bdabc00604a769246e4c9badaa489c6e629939012166245c1da1dcca1a51f0cd6650ac7a187b1eadbe73e990a8c9d7a877773107e94a2106b1ffa5f3248d41658c6fd067b2d3485589655c5f755d66c9fa098f0e98f622499bc82cf997a2155160ca89c5eaa1678730aa2dc207c6963cb080b290c1ebf7b071612eba6483d92398321b9ab80fb502f98ee3296fe041415edb03ff114c729bc31d1564980c6b461d9b684616b80f756cc9ded9f30d47ec3a0dcbdb54fe35d2607f3ac32bcb168a5b379bbbe3ac258683e290fc6ad12bb517a66447ad67e2208a6926a7fab4bc44ecbde4bf0e36365cf50eafc200f5dff301bdeb674ad66b4ecbe439ec626c71fa14d7f0c5820e661c734479eeefcbdb718b3cf641f4b272acc934e466fd7b4b83f773a031ddd8e20979e8bb85c571afe68aa9d8036919943772832e572dd185202034ce3badf78602bdc4ee192ca6cc10773ed180fe7c3ee272a178566a8da20b39bd589a79fb165b76ec6f998f8a1f7d5aa40869342f601de1d7a970785da7d001718a1df5a1fa982c63911b4362e619572c3a51bb610b04fc9e19b0940d795bd93a8a0eba929f942d9be68ff5d20020c1d27be88f6873114e0a2bde4351b7256c56263697a95a444dedc993bf9423780b93b783704823911fb5cc9e55c96d409dcde478fdb43d9c96690295641d6ff69b12e6e0b5cf6a5340f20c89f76fc5d3dd1fa4b64b5513a230ad4aba296bfeaf7143968079b26394ed405e219ac3c4b6b77b54ab047e909b6a61404040a056306f983a849c1230898c70d77fbf1aeac0b971c24c17042593a42c10f97a0ad3378a2695fda1c26f10fb9bf20815044c79cc4734e63867a09d2f0e5f129f06fc14a462be8a00ae4733fd43b689eb805775ddf72e20d442cd2e81cb68524a50062f474289635826a8ac87d266b5a884d872892793ed24f3c6946a58ed8f0dfac7636558391304ecdc2b5c4a857e221b3370fb5b986689f6efa3bb7bcc23a4e98e67b62ee6e8228f69dbb56ca83e2788c7bbaa172e6f93255b1d1002df2c7ea70acc1ba1bcf5c5704ff0a9bbcdaaa1df537d8203590da8c534d72d2fcc0f974f4bffe198eb09b4812774217b7066754ff659d70d0f7a2caf38f7778e3cb902c688ec5d2bb30202e6af1b0481093af50ce532ee545738cad26f25882c32e8659f1dec8e94d90d127242f187ee088365fc04e81f8afc17fc17eed265758ad1c3f085c7b6c2993998ab0479d213654c9dda8ae38854948c62e2a7b11cb8d97bfb8b76d21fa60a973a787a4fa1b0229623cf702654157e375aee29666175eb836c74a55fa16aa8826953d63945e2af481ca005f110bde2b30e1b484317cbd414f841888e1503b4cc85fa04d18b54fc44714cc99fe9303cec9a1d27863f4687eb910da21ee7d468d9d0ae2a47bb39b37329f7f2d3f6a5b0778855046d9c803bc38ca1f025400debe8661bd682d158fe1f514e64a85607df82b30ec57551fb0f200a98b801ed9e907fc2403058ad341c9282700726aa3194a0b63083458417167d5865038055d5451cf83525b01794b63a483b62fb0c335b2462261473aec29831ff649b863bb60b65da5facdc22b39715a598a73d330b6d9da829466edb1263b5ece40aea8bb2e920ae937c2421f4289896e65c3043e1f2119b601c2e6bc2b99ca0f7070a4cfa032009ba0f24f2537e0097a8ee6196d640d0fa09f1054794f54e4f08b4ba53df47e351554f3596ce55cf954fb766854324991f532896acf3a73694876c00d26293951342b9bf58a60c307079702b368bc19ddda73294a0a8b8b16df15b583c3fc8b564648060b811fe6deeb022fb70e86475ef55cf920ead7c9308dfb61ac73cfff2121cea8ad20a2936b8d25462190c0e23951d6d505b8c609b398d3c22c867376a2106312cf151c1c85cbbe28583bed2edd23d0c52efe3945d79843b5493f73d1fa5999a45ff1f390d71e5be72833b2028150347245a5f7ca9dc3e74f468e60d608447444affe45d58c2d226f93ee2eba3f30dc8f45064dc9e27a4d2ead52cff0483de51940c64461f98a5ef268549020f37e89c649a7d3531f11d70a524301fd98c0e73c318bce18318c9fc4d0ef86baad5f9166bfe603a415b1c21d70c9fda6f018992ca56cf89daf614adc02650a9ee733cb91b25442968a515c91185ef1e2af1b3e078774fe0d56173f27c162ee2d6c0acb7983c9c26f6af674e47ff25b4ea7ff4374ae6fae1fdefc26faf5af4299a0f399319d169e5ca345ae13c4681e5eec1cf55189a0eff8a832c6132c878eecfbf3573cdbd2d154e7a4cd132937fa74909b8b"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(r2, 0xd000943e, &(0x7f0000079c80)={0x0, 0x0, "ae278556bf46866e1ff19e3552f360d96c3a1078cc8621651a5cdc6527cce83ffd3e928cde099169f14c99a9fdf1e2041513aa8520056a4a63574242c1adc80aedc6ee4b4bf283192daca985aa3a081cdb802c27d4ed57c72ce7723b487ffe8190a4e422d38501708c137b74c75c8fea165df1db80e9d006c2ac1fd1efaba3980a3a88261ab7e9344b11193876ff7d6c00834e2b9280d6c8e3fee263e565b5e12342c1fd24e66826bcc4666ddc38b13cec44d988ad43e9e2186755bc34201ee993cecc8f8fbbfed9a6633b48627b8082fb385f45405b152c06d8bee74ad62912e43243fa63bdfbb8af40e9d48421af7e586aec94abe7b2870fbc551f8f3be5c5", "8f5e0f65a34f805fa9c00a81f474fffd5b5b780c8f21b8c46061d966d67c7c9d2348e1a23debe51a05be63ba171d200e58badc42d6408a8f4ef33c65b3fe6eac4fe411f9fa2182b2296bf55fca8c3efb6191f1e94db6f094f9cb399bdf2420f471d6d2332d545a09e2cf36adb9c1c1807468d9d3cb520760a9211a2b803353430b1c462d31ff4d0a1139433cc38c89c34e70c18a3d545de8238ab9017a04c06a8b5d1e4eeffa709da634d4eb6f8e83d327bd0bea0d3b6e8684dda635582d05dd062d1a3c869179b232bf9a2abdd1c7995e41e4fe9463f7c0cd61c16c6331167667ccb45a22831e18e5a8acc5567feefdbd7d2c806a23a6b4cd53777dfe2657ad61431b96d2660be350143f7e7e664c59012d74aec146952f736d2928dfe190f54fe4fc670537547fd88de86752d16fd4dafe1ab3f62490b22d2ef55d2ea7b8ac0c3378bb7130fe6d5764b97404b5e51f9c12f4f5ec3585212cea7d300ef21195baa71760093e5525e6ec2b12081a3599c0f7f7384d8a30bf31aeb776abf7544d5e7dfa43c517ebb15e9a041e4193ded8631186909089428fccbf024e2a8a7bd40f40f4dab8eafde2925e93d6ddfa31e73e79b4e57bd66dace52533567b1473a6a7adbf7b7721b6e24ee06d914bb51ee15deffe21fe33b14ba2dd623235f859eeb3152b194aa67d2f37ccde2d6de6804209e7a37d3e206681fd4a5e8de89841ec22a4e6533d2f8913910504b36942ffe05aa52dfdae3abbc818703328124c32dce9bd2b4d542582de92efeeab241740d635abf9296edef53cc9aeb7fb4c8515693798f9d363360d64374fde73b598944d58f4e500cb2d861efd93497fcdc486757dac7897456d942fe1366b72a40eef6cf033b4a682c103b687bf53018e85b858e1a19a342333a4367d9468ce93cc06ac083bc0d1844fa639a49b00b71daf402dbc740a81b2123c6cfbc11eccda6985dc65012a4191a87ef7aecbf973fbfeefa2bd11ace239d5e04f7b1cd3ec183d94e80f81808acd7e826003680ceec49ff82afda41c30214c3ec384e51a26bebebca85e75a0696da78ea0baf0ce59322d510b9f27369378aebe0cb6d236ce1c6c6c68aa2d8ef48eabb60df1373a5de06f20050d74e1b48e28eded87b29bf1f9d9e6901ecebcc0b14ce54f40545c52dd3b8ea7a3ea051bac8cf6dbe476740d7a3a82d2e7641963f60aebdbb7aeccdc9a0d45f690738ab866d610d6323c12c8e51a1e88a3f15a39dedb9d089d0b5e4a5335033f50ed9ab9ded641db446f27a5d3fe599256fc559158b4e6d26472f197764c7813df81f7310282bdfe9d5d10046d03cedd40b16af6b63833685678f22dbfecfe40847d613380e6ce64e3d9de028d3097af9ab54afa6c6a9511fe33927ee46c8bf36609c445a1b92fe0fa07874d81a3785b3b8335adb963db0a82863445b03993cbe9525058536b8921ff4dc7ab5463159084540db16ae55ba432e928b1e28f12131569a90515458e04ee5fc88612ff507df50c95e0e740738fcbeae4d0ea53c899a649e706662f7c1c1c1f82c9395d7d978f4768443c130ef32543035ca5bb27a477cdb75692801d7ce0bc62361f99eda09bbe7039f2229f28476665241518f60745ce3faf5f60ba2ff78bb78362940c39ea4a170997d3120a8afb6b732ae867902a4fd0b8c866181e2143e6a72f0a9ad107c581c25f88a0ba91e7ddddc8f3794c89b848b0644a67159ec2ea973bae58ef733824e3f5849d562436db6d874688795134e96e2d11a012a56701264aeb18932e26da489448f2d47cfbbfa4fdc2d135d04504e8c0f5d0d6cca1530eae3516f9cc1394e101d16237edf9c1c2a94306d3a1303647874a35d6c006d640ee7678219495f3778497a5916cfa4d8d260a294d22123cb62c2603f874e610a38fa6fb260f46b254adf5d0360dea78b4f78a691dbfc5dae0f3fa20c4c55b111fc81124d1d205c24602488d0fb31b1943a53f9ffb157d72ff61df1026dbe3585efefba914d5018ff1fb45affb8454de95bff03caf24ef65c4968daff781fe08e6adadbb4ef544b3c7c2b341cfccee1f80b475012b44927de899705fd3f6a3afc2f8e67b1c3de4f2268c01530421fd0d3dcd3feea9dd0ef102ba3660e1c64bdcae6be0d8df76a6c5422214e3058597fe7873c3fef7152558dccb524690328cff2da8cc9f11e63a3bbb20f45d274fbfce12faad759a762e4715c8cf364611cbfb4ff241f3a088ec2ba3b21c5c330a5385baad7a6ade2a59da9430b478a099f448cf309e6664d158bff51a0831857fa92bc0dd2272e4795f9e05bf3716cf84d495cd180c1aed71cd7745c64e9f52aeee0df3afdb253a3a7b0bd78c904d7c6f7ca22b43f5bd9407aa5d5a3fd46edb11c0b442b1c6944f5ebd08f5217761cb1a061e17f23c88cbf78c34a2d7a481d53a845bada2d551321cad9a4647e02f218c2f243f1aa2169ce9b5cb6f0a3899a73a5bc8c5dbefeec1eb7d93518747314a90d98070d1d978d8f3f41789d6cc41ebdc31be0797d271032f475e8da83a3205496c3f2e830d9505bd97e8b7656b0cd8780f6ac821211829ca2eeb9f05870afbe9395609c1539ce8d29a113d9965265b7cec3982957bbb45d4715b59b4532e029a0b79d0a5c50e990505a16fdd2288f49b5998459202d336a9d6407febeadffe26d2b7daf6f31b3ff80e419fd7226f03c945963e111ee0bc1ea814fe90fb255f59842ffc6a28fdb9cf2ef28f6e3222ba77bd09c8366c42dfa643618a8043cce3c2216343e9adeda4951111b5eaf1ae6fb593ba15a25b5a4791d26c279df76947314ba424bfc6a72438def39d8fd5efe33da572c97eb99d2b195bb52c4f1b5f748b92bac6c08404c4c37a6f8f963642b59f6e6e3f610d899cc859b8ad1785c4c2eae4176cb453216647e30e2141ea0afff469ecf4a38438da983a808127c53f037c28d262ae9c3d560dbc5577a1598b2bf9f7772348affd7af6c49ccc73f947eca6599ba4636e5a31ec9ab47d6d9858b49a9884ec93a3bd23bf5de16dc123b3ba819b8641123214ba71e591617448112ebdf4e5b2876b8d916d3f230a6f0e6881cfc495898004bf68a9494cc61aec2f2fb2de3fdc76d4062812aac32243e6d2bbaebf8c3a669cd1133766397c92b1c84b8cede240665b9266033417d1ed01c133444b60d322bd49cb14081732753c4a17353e3f54ffe400e19f43b6802edd525f5fdfd1b5be3b4ea5d677b5f501bef7703440d56c8c55d36281cb709007f8015cbbbd86617ce9d98028fcfc8f52985aff474592b94206853e13e2295601710c972e18a80796b921218f63aa8bb9c06d795e44edad529c5e29d3a00edcbed2a31c057a6749fcc188f16e0e4e7399b5e4231d65603377d4718a784b285db8a09ea120d9c607f929a97abba71547d8cefb2bcaeb63a7622a5bdee95d8597e87e44fb6713fea7062454602c7f7cbd709569e56d08472a043b4a94da04a2011949efc93b2caee5a1846e0c2db41aa045ccdb6e1547051f3c3ad37bea78e6246771b0ef1e44c7d834819b8a7545d4eef35c058a78db8a72f2027968742907a82e9a9ca39c643ba97cfc9ed01092d225b25097c91c69a70822011bf5e938023638cea1b9919783be197af9697392815b81b568b7f076d229bdd6316a5395239987bbdf8b4bec695180e92abd1d0780b92cf154493ca1e226c134e53a7d4590faa61834f80c190aad32566022a34230a4130188438b73bac857865e504a27bb65f85d78ce0735d11586993ab96d876c6947c39f920a0dcd6a8b320341b53b283c0c18d178539c4e1244a080689a3ed526f074aa3ef2df374757039e4b24c94bf0b7b7810f3e09adaa985f6c362e8e81109a72fd8962bf1842895fa82d690f21dcc3f8875c0a9b88175150f444607bd95a6d789f6de404f74e44c11308ca984f44fc5bddd44e0d640a77b16b22b1c0f021955dc94f82db41b27e8324b07bd3b4160b840c4689a9a30ea4f315535b22b494e801192ea673d8e91aace0fd9d8a636e5c42e8ac025049f5e606a246736ac798d5d1d315ca8a41693681cbca01d387ae967e50b4280e57a1620fd9bbb2333a92b89d886938e285970205b8e2ed14d2379d155d430011d436b23007864c46b60dfe535cc01499ef141c0bd74e9c97dd6dda535aceabb3146424ac5393a55fc6e2fd799130bc404aa0aea3c95409a81b93f99490afb85a293408dff40d59723ce4a69bda9f749f3c247e0aeae58157eb3ab038141d6229c6126b32da63d47e56faaabf2451486d43eb42ac2fdda1e612c2d9b2740781e3acfd7398213f884755bfd965404bdd95386945c145452654c10a6a8427047b30c1e337ed8f52659573fae3e7f3218d8ec8e048776effcb42461b0698f038736d4c0c6bb5365642717957cb61cd61888dc33cf75f6f166f7a12f6327275707a0634bd66d452db5cd4f839ff2e476c1dd0167aa27d05c2f3b46973605a561a01bca19f11fc6f2c746f6f54ed05cc4dbad33a910de39b5a1c6fe03ec9dddfa8ac7eeb6ffd47c9f5551c50095e2f9c97708ed9d59809e7d1d835596cfa31729e49c6ee7cf60fc56d96394d2e9581d71b22722280ba662f3f3415d835421f6ae2d446b5c2bdb9c4576dedc032fd50cb1f2b309451456e748f9efdbb62127c3778ee9680888cc315c91c760c023683f067e7b82a030111e44608d4380c765b757f558a40d1c9b2f774d4a8655b7d680d89c394734a42e01af961867237f36a44febd16a61a303cbccf7ba49cb494a605d53c6abc90ce7ebe01ee91b676b2a9361b6fed973aed628221d65f9ba853fcc1f74cbbb9b3418b85cdae11ea04be0c74d015c1debb6db8d161e5a84951747a88fd8ed9a6bb4bf2f90cb7d8decc97d5b2cf9e04c82098af290ec5e408b50f9df3aa32ede822f1c811cbc8ddcbe787aee4c5a5c72f3ce572c59a0412c71209839baa80cf5df182aff2b3826970ea43f2c5d72df7a8d5b1c1ed7c86eb22d6899fdf7f7bc35ad1ce950760ef4a5a9b86571e77d23f94b9fe980119ef64dfb8dca4acf4b838362f2b55171e72380a0697c732a8c110ed33e3f61e3eb944b9dfa851fbea1f92aebedbb39878cbc0e21594918570b389a6de7d1c43ef78b7811df717bb8c6c0101e9c6601a5eb58d66756609ae87b8e8682f29f0bd474844508fdcf3f513b1a757ddfb32a8a975986a062c7a003c270d9ef1a0d1ddea63210bceecb22d025fdea12733dcb89ca32bc450ea65b2fc6bdae6117182483b7e312faa2e64373a5c6140c08007c69889d8da3a28840d6db167ab4ef643a36e9fc116ca15cf1a0296bc42d2baeb35b94e6d85286c609d9c67216f6fedf1dc6622f2be5df010407fab6889b6b84c1b09eb6629ecb468478cfd67335818988a5d"}) ioctl$BTRFS_IOC_TREE_SEARCH(r4, 0xd0009411, &(0x7f000007ac80)={{0x0, 0x4, 0x200, 0x54f, 0x0, 0x0, 0xc61, 0x3, 0x1, 0x7fffffff, 0x1f, 0x2ecb, 0x8cd, 0x2619, 0x80000001}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f000007bc80)={0x80, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}, {}, {r7, r8}, {0x0, r9}, {r10}], 0x4, "eb51734a9ef179"}) ioctl$BTRFS_IOC_INO_LOOKUP(r1, 0xd0009412, &(0x7f0000000940)={r7}) openat$cgroup_ro(r0, &(0x7f0000000900)='memory.swap.current\x00', 0x0, 0x0) ioctl$VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &(0x7f0000000000)={0xcf, 0x3, 0x9, 0x10001, "fce325da70125475d3c44ee301d343c2d79255f09e65d97fc1697cedda6ae10b71328c2ac706988f99adb133f344c6d4c18fbeef701665895e2cff817047f4c98d73932469a9baff6cf042967364fb413df99fc7308c224f0ec8df06a95cfcde3614da98469bb716b5396f787ddc2eff7ef183c95f39ffa735a11b24c284e871af9aa92a70842dcba5f54851ba6a02e7bc90ce9735a48c0a72aff3a94e43751ba058349af1248e87269e3a19fddf440cd08532e82771f3"}) unshare(0x40020600) [ 236.054142][T15895] IPVS: ftp: loaded support on port[0] = 21 20:01:09 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 236.140991][T15936] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop2. 20:01:09 executing program 0: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:09 executing program 4: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) 20:01:09 executing program 1: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) [ 236.248965][T15955] IPVS: ftp: loaded support on port[0] = 21 20:01:09 executing program 2: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) 20:01:09 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:09 executing program 4: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) [ 236.328210][T15956] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop5. 20:01:09 executing program 0: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:09 executing program 2: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) [ 236.398114][T15956] IPVS: ftp: loaded support on port[0] = 21 20:01:09 executing program 1: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:09 executing program 4: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) 20:01:09 executing program 3: 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) write$cgroup_subtree(r1, 0x0, 0x32600) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000400)=ANY=[], 0xda00) 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, 0x0, 0xffffffffffffffff, 0x0) write$cgroup_int(r2, &(0x7f0000000200), 0x43400) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) getpid() splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x7fffffff, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000700)={0x11, 0x4, &(0x7f0000000280)=@raw=[@map={0x18, 0x3}, @map={0x18, 0x3}], &(0x7f00000002c0)='GPL\x00', 0x0, 0xce, &(0x7f0000000580)=""/206, 0x41100, 0x18, [], 0x0, 0x8, r2, 0x8, &(0x7f0000000680)={0x6, 0x3}, 0x8, 0x10, &(0x7f00000006c0)={0x3, 0x4, 0x7ff, 0x8}, 0x10, 0xffffffffffffffff}, 0x78) r3 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000480)=@bpf_lsm={0x1d, 0x3, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x10001}, @ldst={0x3, 0x2, 0x6, 0x6, 0x6, 0xfffffffffffffff4, 0xf}], &(0x7f0000000180)='syzkaller\x00', 0x3, 0x97, &(0x7f0000000300)=""/151, 0x40f00, 0x8, [], 0x0, 0x1b, r3, 0x8, &(0x7f0000000400)={0x1, 0x2}, 0x8, 0x10, &(0x7f0000000440)={0x2, 0xa, 0x200, 0x2}, 0x10, 0xffffffffffffffff}, 0x78) r4 = perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0x3e2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x1f}, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x1, 0xffffffffffffffff, 0x0) close(r4) r5 = bpf$PROG_LOAD(0x5, &(0x7f0000000940)={0xb, 0x5, &(0x7f00000003c0)=@framed={{0x18, 0x0, 0x10000000}, [@map]}, &(0x7f0000000440)='syzkaller\x00', 0x5, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r5, 0x0, 0xe, 0x0, &(0x7f0000000080)="7c16eb8c75c393ebe80801fc41bf", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) r6 = openat$cgroup(r0, &(0x7f0000000500)='syz0\x00', 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000540)={r5, r6, 0x13}, 0x10) 20:01:09 executing program 2: r0 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@remote, 0x800, 0x0, 0x2000000000903, 0x1}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000000)={@local, 0x0, 0x0, 0x3, 0x1}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f00000005c0)=0x7fff, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x380000, @loopback}, 0x1c) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f0000000040)={@dev, 0x800, 0x1}, 0x20) 20:01:09 executing program 5: r0 = socket$inet_dccp(0x2, 0x6, 0x0) getsockopt$inet_int(r0, 0x10d, 0xc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:01:09 executing program 0: syz_emit_ethernet(0x42, &(0x7f00000001c0)={@broadcast, @broadcast, @void, {@ipv4={0x800, @dccp={{0x9, 0x4, 0x0, 0x0, 0x34, 0x0, 0x0, 0x0, 0x21, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @private=0xa010100, {[@noop, @timestamp={0x44, 0xc, 0x8, 0x0, 0x0, [0x0, 0x0]}]}}, {{0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, "cc2eda", 0x0, "ade566"}}}}}}, 0x0) 20:01:09 executing program 5: r0 = socket$inet_dccp(0x2, 0x6, 0x0) getsockopt$inet_int(r0, 0x10d, 0xc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:01:09 executing program 4: r0 = openat$vga_arbiter(0xffffffffffffff9c, &(0x7f0000000280)='/dev/vga_arbiter\x00', 0x141, 0x0) write$vga_arbiter(r0, &(0x7f0000000100)=ANY=[@ANYBLOB='target PCI:'], 0x15) 20:01:09 executing program 0: syz_emit_ethernet(0x42, &(0x7f00000001c0)={@broadcast, @broadcast, @void, {@ipv4={0x800, @dccp={{0x9, 0x4, 0x0, 0x0, 0x34, 0x0, 0x0, 0x0, 0x21, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @private=0xa010100, {[@noop, @timestamp={0x44, 0xc, 0x8, 0x0, 0x0, [0x0, 0x0]}]}}, {{0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, "cc2eda", 0x0, "ade566"}}}}}}, 0x0) 20:01:09 executing program 2: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() wait4(0x0, 0x0, 0x4000000a, 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f00000004c0)="0f34", 0x2}], 0x1, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x0) process_vm_writev(0x0, &(0x7f0000000080)=[{0x0}, {0x0}, {&(0x7f0000000000)=""/3, 0x3}], 0x3, 0x0, 0x0, 0x0) tkill(r0, 0x40) write$sndseq(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @tick, {}, {}, @ext={0x149, &(0x7f0000000340)="5cf24bb9900c8658ab8dcf26b76af2f3c921bf3cb1d8c1fc07fe0dc8800cb5424458e2f1c9c0d88f2140f489da6844d807b530b2b880323aa72ed8af2548273236549d12f710f8fec78ce6ff46a237feac24846962135863f013e48f5d03af0ca5d4da0a43b0237c68eba79ae5860cd649a12a4ab5382d66a6410debc9010ea6c3ab53539c281d054c0218f288598ef342f9908357989f3209cd922d31a1b283f5f5168ef2b167c2c336c3acce26d228512a7ca5a75c9dd1770b5f4a5012f3e28fd83b49bb3f7e50c1e4ac8da2dccc53af9953c878bc0a32cef4f3a37dbabef10ffc8c8c8d016e01413189858fed0a4571d321bd3a53a7b401b0a16bcaf6b594ca7205d0b6bca320a4e13a383272f00a3c289e6dc8c62e8ea26ce7cad1667f23b48da3ff09dbef3a4076f7c627a76d27eeeadb7bc1bea9092b4d706f0d797d6a132bf4f3cbd45e9903"}}], 0x1c) ptrace$setregs(0xd, r0, 0x0, &(0x7f0000000080)) ptrace$cont(0x7, r0, 0x0, 0x0) 20:01:09 executing program 1: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:10 executing program 5: r0 = socket$inet_dccp(0x2, 0x6, 0x0) getsockopt$inet_int(r0, 0x10d, 0xc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:01:10 executing program 3: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:10 executing program 4: r0 = openat$vga_arbiter(0xffffffffffffff9c, &(0x7f0000000280)='/dev/vga_arbiter\x00', 0x141, 0x0) write$vga_arbiter(r0, &(0x7f0000000100)=ANY=[@ANYBLOB='target PCI:'], 0x15) 20:01:10 executing program 0: syz_emit_ethernet(0x42, &(0x7f00000001c0)={@broadcast, @broadcast, @void, {@ipv4={0x800, @dccp={{0x9, 0x4, 0x0, 0x0, 0x34, 0x0, 0x0, 0x0, 0x21, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @private=0xa010100, {[@noop, @timestamp={0x44, 0xc, 0x8, 0x0, 0x0, [0x0, 0x0]}]}}, {{0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, "cc2eda", 0x0, "ade566"}}}}}}, 0x0) libbpf: failed to find valid kernel BTF libbpf: Error loading vmlinux BTF: -3 libbpf: failed to load object 'iterators_bpf' libbpf: failed to load BPF skeleton 'iterators_bpf': -3 Failed load could be due to wrong endianness 20:01:10 executing program 1: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:10 executing program 5: r0 = socket$inet_dccp(0x2, 0x6, 0x0) getsockopt$inet_int(r0, 0x10d, 0xc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:01:10 executing program 3: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:10 executing program 4: r0 = openat$vga_arbiter(0xffffffffffffff9c, &(0x7f0000000280)='/dev/vga_arbiter\x00', 0x141, 0x0) write$vga_arbiter(r0, &(0x7f0000000100)=ANY=[@ANYBLOB='target PCI:'], 0x15) 20:01:10 executing program 0: syz_emit_ethernet(0x42, &(0x7f00000001c0)={@broadcast, @broadcast, @void, {@ipv4={0x800, @dccp={{0x9, 0x4, 0x0, 0x0, 0x34, 0x0, 0x0, 0x0, 0x21, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @private=0xa010100, {[@noop, @timestamp={0x44, 0xc, 0x8, 0x0, 0x0, [0x0, 0x0]}]}}, {{0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, "cc2eda", 0x0, "ade566"}}}}}}, 0x0) 20:01:10 executing program 3: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:12 executing program 2: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() wait4(0x0, 0x0, 0x4000000a, 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f00000004c0)="0f34", 0x2}], 0x1, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x0) process_vm_writev(0x0, &(0x7f0000000080)=[{0x0}, {0x0}, {&(0x7f0000000000)=""/3, 0x3}], 0x3, 0x0, 0x0, 0x0) tkill(r0, 0x40) write$sndseq(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @tick, {}, {}, @ext={0x149, &(0x7f0000000340)="5cf24bb9900c8658ab8dcf26b76af2f3c921bf3cb1d8c1fc07fe0dc8800cb5424458e2f1c9c0d88f2140f489da6844d807b530b2b880323aa72ed8af2548273236549d12f710f8fec78ce6ff46a237feac24846962135863f013e48f5d03af0ca5d4da0a43b0237c68eba79ae5860cd649a12a4ab5382d66a6410debc9010ea6c3ab53539c281d054c0218f288598ef342f9908357989f3209cd922d31a1b283f5f5168ef2b167c2c336c3acce26d228512a7ca5a75c9dd1770b5f4a5012f3e28fd83b49bb3f7e50c1e4ac8da2dccc53af9953c878bc0a32cef4f3a37dbabef10ffc8c8c8d016e01413189858fed0a4571d321bd3a53a7b401b0a16bcaf6b594ca7205d0b6bca320a4e13a383272f00a3c289e6dc8c62e8ea26ce7cad1667f23b48da3ff09dbef3a4076f7c627a76d27eeeadb7bc1bea9092b4d706f0d797d6a132bf4f3cbd45e9903"}}], 0x1c) ptrace$setregs(0xd, r0, 0x0, &(0x7f0000000080)) ptrace$cont(0x7, r0, 0x0, 0x0) 20:01:12 executing program 5: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:12 executing program 1: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:12 executing program 4: r0 = openat$vga_arbiter(0xffffffffffffff9c, &(0x7f0000000280)='/dev/vga_arbiter\x00', 0x141, 0x0) write$vga_arbiter(r0, &(0x7f0000000100)=ANY=[@ANYBLOB='target PCI:'], 0x15) 20:01:12 executing program 3: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:12 executing program 0: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) shmat(0x0, &(0x7f0000000000/0x13000)=nil, 0x4000) exit_group(0x0) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='numa_maps\x00') readv(r0, &(0x7f00000012c0)=[{&(0x7f0000001400)=""/4110, 0x100e}], 0x1) 20:01:13 executing program 5: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:13 executing program 0: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) shmat(0x0, &(0x7f0000000000/0x13000)=nil, 0x4000) exit_group(0x0) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='numa_maps\x00') readv(r0, &(0x7f00000012c0)=[{&(0x7f0000001400)=""/4110, 0x100e}], 0x1) 20:01:13 executing program 1: r0 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) mount$overlay(0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB="64a1"]) mmap(&(0x7f0000003000/0x2000)=nil, 0x2000, 0x0, 0x1012, r0, 0x0) write$P9_RWALK(r0, &(0x7f0000000340)=ANY=[], 0x8) perf_event_open(&(0x7f0000000180)={0x6, 0x70, 0x0, 0x0, 0x0, 0x0, 0xfffffff6}, 0x0, 0x0, 0xffffffffffffffff, 0x0) 20:01:13 executing program 3: r0 = fsopen(&(0x7f0000000100)='bpf\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) fsmount(r0, 0x0, 0x0) 20:01:13 executing program 4: socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$TIPC_SRC_DROPPABLE(r0, 0x10f, 0x8a, &(0x7f0000000200), 0x4) 20:01:13 executing program 1: r0 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) mount$overlay(0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB="64a1"]) mmap(&(0x7f0000003000/0x2000)=nil, 0x2000, 0x0, 0x1012, r0, 0x0) write$P9_RWALK(r0, &(0x7f0000000340)=ANY=[], 0x8) perf_event_open(&(0x7f0000000180)={0x6, 0x70, 0x0, 0x0, 0x0, 0x0, 0xfffffff6}, 0x0, 0x0, 0xffffffffffffffff, 0x0) [ 242.324017][ T24] ================================================================== [ 242.332101][ T24] BUG: KCSAN: data-race in __mod_timer / expire_timers [ 242.338926][ T24] [ 242.341226][ T24] write to 0xffff88813bc1bd88 of 8 bytes by interrupt on cpu 0: [ 242.348871][ T24] expire_timers+0x164/0x260 [ 242.353442][ T24] __run_timers+0x338/0x3d0 [ 242.357922][ T24] run_timer_softirq+0x19/0x30 [ 242.362660][ T24] __do_softirq+0x13c/0x2c3 [ 242.367139][ T24] asm_call_irq_on_stack+0xf/0x20 [ 242.372139][ T24] do_softirq_own_stack+0x32/0x40 [ 242.377137][ T24] __irq_exit_rcu+0xb4/0xc0 [ 242.381615][ T24] sysvec_apic_timer_interrupt+0x74/0x90 [ 242.387225][ T24] asm_sysvec_apic_timer_interrupt+0x12/0x20 [ 242.393179][ T24] acpi_idle_enter+0x25b/0x2e0 [ 242.397936][ T24] cpuidle_enter_state+0x2bd/0x750 [ 242.403026][ T24] cpuidle_enter+0x3c/0x60 [ 242.407434][ T24] do_idle+0x193/0x230 [ 242.411477][ T24] cpu_startup_entry+0x15/0x20 [ 242.416213][ T24] rest_init+0xd7/0xe0 [ 242.420258][ T24] arch_call_rest_init+0xa/0xb [ 242.424997][ T24] start_kernel+0x59b/0x620 [ 242.429483][ T24] secondary_startup_64_no_verify+0xb0/0xbb [ 242.435368][ T24] [ 242.437675][ T24] read to 0xffff88813bc1bd88 of 8 bytes by task 24 on cpu 1: [ 242.445014][ T24] __mod_timer+0x442/0xbf0 [ 242.449403][ T24] add_timer+0x38/0x50 [ 242.453465][ T24] __queue_delayed_work+0xec/0x150 [ 242.458553][ T24] queue_delayed_work_on+0x78/0xc0 [ 242.463637][ T24] bond_mii_monitor+0x1594/0x1620 [ 242.468650][ T24] process_one_work+0x3e1/0x950 [ 242.473495][ T24] worker_thread+0x64a/0xaa0 [ 242.478675][ T24] kthread+0x1fd/0x220 [ 242.482724][ T24] ret_from_fork+0x1f/0x30 [ 242.487112][ T24] [ 242.489410][ T24] Reported by Kernel Concurrency Sanitizer on: [ 242.495530][ T24] CPU: 1 PID: 24 Comm: kworker/u4:1 Not tainted 5.11.0-rc5-syzkaller #0 [ 242.503837][ T24] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 242.513891][ T24] Workqueue: bond1 bond_mii_monitor [ 242.519069][ T24] ================================================================== [ 242.527099][ T24] Kernel panic - not syncing: panic_on_warn set ... [ 242.533676][ T24] CPU: 1 PID: 24 Comm: kworker/u4:1 Not tainted 5.11.0-rc5-syzkaller #0 [ 242.541974][ T24] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 242.552002][ T24] Workqueue: bond1 bond_mii_monitor [ 242.557198][ T24] Call Trace: [ 242.560457][ T24] dump_stack+0x116/0x15d [ 242.564769][ T24] panic+0x1e7/0x5fa [ 242.568640][ T24] ? vprintk_emit+0x2e2/0x360 [ 242.573299][ T24] kcsan_report+0x67b/0x680 [ 242.577783][ T24] ? kcsan_setup_watchpoint+0x47b/0x4e0 [ 242.583320][ T24] ? __mod_timer+0x442/0xbf0 [ 242.587910][ T24] ? add_timer+0x38/0x50 [ 242.592140][ T24] ? __queue_delayed_work+0xec/0x150 [ 242.597398][ T24] ? queue_delayed_work_on+0x78/0xc0 [ 242.602661][ T24] ? bond_mii_monitor+0x1594/0x1620 [ 242.607836][ T24] ? process_one_work+0x3e1/0x950 [ 242.612851][ T24] ? worker_thread+0x64a/0xaa0 [ 242.617603][ T24] ? kthread+0x1fd/0x220 [ 242.621842][ T24] ? ret_from_fork+0x1f/0x30 [ 242.626432][ T24] ? ieee80211_rx_bss_put+0x31/0x40 [ 242.631629][ T24] ? ieee80211_ibss_rx_queued_mgmt+0x1af/0x12c0 [ 242.637852][ T24] ? calc_wheel_index+0x3e/0x280 [ 242.642790][ T24] kcsan_setup_watchpoint+0x47b/0x4e0 [ 242.648139][ T24] __mod_timer+0x442/0xbf0 [ 242.652532][ T24] add_timer+0x38/0x50 [ 242.656575][ T24] __queue_delayed_work+0xec/0x150 [ 242.661662][ T24] queue_delayed_work_on+0x78/0xc0 [ 242.666749][ T24] bond_mii_monitor+0x1594/0x1620 [ 242.671751][ T24] ? psi_task_change+0xae/0x140 [ 242.676578][ T24] ? probe_sched_wakeup+0x75/0x90 [ 242.681588][ T24] ? try_to_wake_up+0x254/0x440 [ 242.686434][ T24] ? strscpy+0x138/0x170 [ 242.690659][ T24] process_one_work+0x3e1/0x950 [ 242.695503][ T24] worker_thread+0x64a/0xaa0 [ 242.700156][ T24] ? process_one_work+0x950/0x950 [ 242.705171][ T24] kthread+0x1fd/0x220 [ 242.709218][ T24] ? process_one_work+0x950/0x950 [ 242.714235][ T24] ? kthread_blkcg+0x80/0x80 [ 242.718820][ T24] ret_from_fork+0x1f/0x30 [ 243.800168][ T24] Shutting down cpus with NMI [ 243.805537][ T24] Kernel Offset: disabled [ 243.809845][ T24] Rebooting in 86400 seconds..